Показать сообщение отдельно
Старый 20.09.2023, 18:10   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,875 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от trud Посмотреть сообщение
Я кстати тоже встречался с подобным странным поведением нового оптимизатора. У меня был запрос по полю таблицы которое содержало несколько миллионов пустых значений и несколько заполненных. И вот периодически(причем причина так же была непонятна) запрос переставал использовать индекс по этому полю. Причем логики смены плана с хорошего на плохой не было, иногда работало долго, иногда сбивалось быстро
Поиск выявил что Микрософт решал уже подобные проблемы, но у нас была версия новее, текущее предположение было что не до конца пофиксили. В итоге так-же решили сменой Cardinality Estimator на старый

Cumulative Udpate 4 for SQL Server 2016 SP2
https://support.microsoft.com/en-au/...lity-estimator
Интересно, что в статье от MS указано про null values, а в аксапте обычно пустые строки или 0 в числовых столбцах. Видимо для такого случая то же самое.