Я только что унаследовал около 20 экземпляров SQL Server, как часть более широкого проекта по приобретению. Я нахожусь в процессе оценки производительности, и мне не нравится, как планы обслуживания были выполнены.
Я вижу ежедневные перестройки общего индекса (я могу справиться с этим), а также ежедневное ручное обновление статистики.
Около половины баз данных было установлено на Автоматическое обновление статистики = Ложь по причинам, которые не ясны, за исключением того, что мне сказали, что это уменьшает «Проблемы с производительностью» ...
Я всегда думал и работал над тем, чтобы установить для этого параметра значение True, и чувствовал, что обновление вручную не требуется, если для этого параметра установлено значение True. Я ошибся?
Может ли кто-нибудь объяснить, что было бы полезно, если бы этот параметр был установлен как False, но вместо этого выполнял ежедневное обновление вручную?
Я должен отметить, что некоторые базы данных имеют высокую транзакционность (миллионы вставок, удалений, обновлений в день). Другие базы данных имеют низкую скорость транзакций, а некоторые только для чтения. Там нет рифмы или причины, по которой для параметра автоматического обновления установлено значение False. Похоже, это лотерея.
В целом, я бы сказал, что иметь статистику автоматического обновления полезно. Но, как и для любой настройки, есть причины, по которым вы можете включить или выключить ее.
Одна из них заключается в том, что некоторые таблицы имеют большой отток, и, возможно, запросы не очень чувствительны к точной статистике. Подумайте об ETL или других массовых сценариях, в которых вы меняете много данных, но либо не читаете их оттуда, либо не читаете много. Нет особого смысла в том, чтобы запускать автоматические обновления статистики и вызывать кучу операций ввода-вывода для обеспечения более точной статистики, которая никогда не будет использоваться.
У вас также могут быть сценарии, в которых вы обновляете данные несколько раз в течение дня, но не обязательно хотите обновлять статистику после каждого обновления. (Скажем, данные запрашиваются только в определенные часы дня - нет необходимости многократно обновлять статистику, если данные все равно не будут запрашиваться за все время.)
Или, может быть, у вас просто нагрузка на запись. Или чтения обычно представляют собой полные сканы, где статистика не очень важна.
источник