У меня есть простая таблица из 3 столбцов для отслеживания ожидающих расчетов.Первый столбец - это целочисленный внешний ключ, связывающий таблицу клиентов.Второе - дата, а третье - флаг приоритета.Первичный ключ для таблицы - это составная часть клиентского FK и даты.
Эта таблица используется для очереди вычислений, поэтому она видит много оттока.Однако я заметил, что работа с этой таблицей иногда медленнее, чем фактические вычисления, для которых это очередь.В частности, когда в нем около 1000 строк, и в вычислениях происходит короткое замыкание, удаление только одной строки из очереди и вызов SaveChanges занимает в среднем три секунды.
Поскольку эта таблица постоянно добавляется и удаляется из,эти три секунды складываются быстро.И это должно быть сделано последовательно, чтобы гарантировать, что очередь обрабатывается в правильном порядке.Просто кажется, что удаление одной строки таблицы из трех столбцов занимает чрезмерно много времени.
Я предполагаю, что виноват композитный ключ ...?Но я не уверен, и я новичок в MS SQL и EF Core.Может ли кто-нибудь указать мне правильное направление для профилирования этого, чтобы определить узкое место?