Відповіді:
Звичайно, якщо ваші дані змінюються частіше, ніж швидкість автоматичної статистики (або, скажімо, ви часто оновлюєте <20% рядків, як-от оновлення статусів або відмітки дати / часу). Або якщо ваша таблиця величезна і вона недостатньо змінюється для запуску автоматичних оновлень статистики. Або якщо ви відфільтрували індекси ( оскільки поріг автоматичної статистики все ще базується на% зміни у всій таблиці, а не на% зміни підмножини рядків у відфільтрованому індексі ).
Ще кілька (поверхневих) причин:
Статистика автоматичного оновлення блокує запит, який ініціював оновлення, поки нова статистика не буде готова.
... Якщо ви також не включите статистику автоматичного оновлення асинхронно. Тоді запит, який викликав оновлення, не чекатиме нової статистики, але потенційно запускатиметься зі старою, неправильною статистикою.
Я також зіткнувся з деякими дивними проблемами блокування, коли база даних з деякими відносно великими таблицями (44М рядків, 8,5 ГБ) почне оновлювати статистику. Ми зняли цю програму ще до того, як я зміг реально відстежити, що відбувається.
Так, пам’ятайте, що автоматична статистика завжди генерується зі швидкістю вибірки за замовчуванням. Ця частота вибірки за замовчуванням може не точно створювати статистику, яка представляє ваші дані.