AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.11.2020, 07:05   #1  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Я кстати тоже встречался с подобным странным поведением нового оптимизатора. У меня был запрос по полю таблицы которое содержало несколько миллионов пустых значений и несколько заполненных. И вот периодически(причем причина так же была непонятна) запрос переставал использовать индекс по этому полю. Причем логики смены плана с хорошего на плохой не было, иногда работало долго, иногда сбивалось быстро
Поиск выявил что Микрософт решал уже подобные проблемы, но у нас была версия новее, текущее предположение было что не до конца пофиксили. В итоге так-же решили сменой Cardinality Estimator на старый

Cumulative Udpate 4 for SQL Server 2016 SP2
https://support.microsoft.com/en-au/...lity-estimator
Цитата:
Assume that you have Microsoft SQL Server 2014, 2016 and 2017 installed. You have a table column that contains many null values, and you execute a query on that table by using the default Cardinality Estimator (CE). In this scenario, you may experience an overestimation in a filter that compares the table column to a value that's unknown at compile time.
Кстати было бы интерестно узнать как настроили алерты на QueryStore и как это помогло решить хоть какие-то проблемы, я видел что на больших базах это работало плохо
За это сообщение автора поблагодарили: Vadik (1).
Старый 20.09.2023, 18:10   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,882 / 3148 (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 в числовых столбцах. Видимо для такого случая то же самое.
Теги
alwayson, ax2012r2, cardinality, cbo, legacy_cardinality_estimation, sql server 2016

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX Performance Troubleshooting Checklist Part 2 Blog bot DAX Blogs 0 09.09.2014 16:11
emeadaxsupport: AX Performance Troubleshooting Checklist Part 1A [Introduction and SQL Configuration] Blog bot DAX Blogs 0 05.09.2014 21:11
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 17 Blog bot Dynamics CRM: Blogs 0 10.05.2014 06:30
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 11 Blog bot Dynamics CRM: Blogs 0 06.10.2012 05:27
CRM DE LA CREME! Configuring Microsoft Dynamics CRM 4.0 for Internet-facing deployment Blog bot Dynamics CRM: Blogs 0 18.08.2009 11:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:57.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.