A мой вопрос, который касался медленно исполняемого запроса, представил мне функцию sp_updatestats()
. Я хочу предпринять активные действия, чтобы называть его на регулярной основе, а не ждать, когда мои запросы будут случайным образом запускать тайм-аут в рабочее время. Я подумывал забегать в полночь каждую ночь. Мои вопросы:
-
Есть ли полезный способ определить, когда следует вызывать эту процедуру, а не слепо запускать ее каждую ночь? В документации говорится, что SQL Server автоматически обновляет эти статистические данные. Но с какой частотой? Как узнать, когда мне нужно войти и выполнить его вручную?
-
Заблокирована ли база данных во время выполнения этой процедуры? Кажется, на это ушло около четырех или пяти минут. Доступна ли база данных в течение этого периода или будут ли попытки блокировать запросы? Мои тесты показывают, что я все еще могу выполнять запросы, но я не уверен, что это только потому, что мне повезло, обратившись к таблице, для которой статистика не была рассчитана в этот момент.