У меня огромная таблица (в ней более 40 миллионов записей) и индекс по одному из столбцов.Столбец является ссылочным столбцом - typeId.
Я столкнулся с проблемой, заключающейся в том, что при фильтрации данных в этом столбце с использованием различных значений столбца иногда используется индекс, а иногда нет.
Например.просто запустить:
select * from LargeNumberOfItemsTable where typeid=4
заставляет SQL Server использовать индекс, но
select * from LargeNumberOfItemsTable where typeid=3
не использует индекс.
Если индекс не используется, запрос принимаетдолгое время, но когда я намекаю, что индекс следует использовать, его запуск занимает считанные секунды.
Странно то, что статистика была обновлена, а индекс перестроен.
У кого-нибудь есть идеи, почему такое поведение может происходить?Я ищу некоторые подсказки, где искать причину.