|
![]() |
#1 |
Moderator
|
По моим наблюдениям, в 85% случаев, кривые планы лечаться командой DBCC FREEPROCCACHE(), которая кэш планов очищает. Только в оставшихся 15% случаев реально нужен пересбор статистики. Обычно, кривой план исполнения является результатом использования parameters sniffing. План запроса строится для первой попавшейся комбинации параметров запроса и потом достаточно долго повторно используется (там есть критерии устаревания плана, но скорее всего, план просто будет выкинут из кэша из за того что на одной из используемых в нем таблиц случилось автоматическое обновление статистики). Так что - возможно что этот флаг на самом деле помогает не потому что статистик чаще обновляется, а потому что более частый автоматический сбор статистики сокращает среднее время жизни закэшированного плана запроса, снижая шансы на то что кривой план будет повторно использоваться недельку-другую.
Так что я подопечных админов учу так: Если какая-то из форм начала внезапно сильно тормозить, то просто очистите план запроса. Ну и каждую ночь с субботы на воскресенье - пересбор статистики по всем таблицам и всем записям таблицы. Да - возможно это несколько избыточно, но обычно времени за ночь хватает на пересбор и очень большой дополнительной нагрузки на сервер это не создает. (По крайней мере - пользователи не жалуются). Единственное исключение - таблицы сводного планирования (reqTrans/ReTransCov/ReqPo). Просто при регенерации плана (каждую ночь обычно), система сносит содержание одного из планов (а их обычно не так много 2-3-4) и перегенерирует данные заново. В этой ситуации, мы просто поставили батч на пересчет плана на 18:00 и maintanance plan в SQL Server на обновление статистики по этим таблица - на 18:40. Просто эмпирически выяснили что где-то в 19:00 регенерация плана начинает тормозить и ей можно здорово помочь обновлением статистики... |
|
|
За это сообщение автора поблагодарили: trud (3), S.Kuskov (3). |
![]() |
#2 |
Участник
|
Цитата:
Цитата:
When you installed AX2012 R2 CU6, it would have created 2 new records in SYSGLOBALCONFIGURATION with names ( 'DATAAREAIDLITERAL', 'PARTITIONLITERAL'). To turn the feature ON you need to update these records and set the value to 1. Following update will enable the feature on all the AOS. Note: This feature is turned OFF by default.
Последний раз редактировалось gl00mie; 10.10.2013 в 10:34. Причина: исправление copy-paste'а |
|
|
За это сообщение автора поблагодарили: Vadik (1), trud (2), S.Kuskov (3), Kabardian (2). |
![]() |
#3 |
Moderator
|
Цитата:
Сообщение от gl00mie
![]() Небольшой offtopic на счет parameter sniffing, его отключения и разгромного объяснения, почему оно не поможет:
P.S. Вообще умиляет вера заметной части админов в то, что во всех микрософтовских продуктах есть God Mode. Поставил просто нужный флажек и все проблемы решились сами... |
|
Теги |
sql, статистика |
|
![]() |
||||
Тема | Ответов | |||
оптимизация запроса статистики по клиенту | 2 | |||
Пакетник - периодичность "Каждый день" - это 5 дней из 7 | 10 | |||
Группа статистики | 0 |
|