Каковы последствия наличия устаревшей статистики таблицы в базе данных Sybase / SQLServer? - PullRequest
0 голосов
/ 13 февраля 2009

Например, для интенсивно используемых таблиц с объемами порядка 10 миллионов строк, которые растут на миллион строк в месяц, если статистика составляет 6-8 месяцев, насколько это будет вредно для производительности базы данных ? Как часто вы должны обновлять статистику?

Ответы [ 3 ]

2 голосов
/ 13 февраля 2009

Статистика хранится и используется планировщиком запросов, и они оказывают заметное влияние. Я не могу дать вам точные рекомендации о том, как часто вы должны их обновлять. Это будет зависеть от того, сколько работы потребуется для их обновления и насколько свежая статистика окажет влияние на ваши запросы. Реальный ответ для этого состоит в том, чтобы провести хорошие измерения и оценить варианты по результатам. Мастеринг без измерения - это бросок костей.

0 голосов
/ 15 февраля 2009

Последствия ужасны. Вы должны обновлять их как можно чаще, чтобы предоставить оптимизатору наилучшую информацию для принятия решений. Вы сможете узнать, насколько плоха статистика, запустив утилиту optdiag. Анализ выходных данных и повторное выполнение для сравнения в течение нескольких дней или недели позволит вам точно узнать, насколько плоха ситуация. Я бы посоветовал при первой же возможности удалить и заново создать индексы и запустить «обновить статистику индекса» в рассматриваемой таблице. Этой информации должно быть достаточно, чтобы вы могли пройти. Я предполагаю, что вы можете проанализировать вывод optdiag.

0 голосов
/ 15 февраля 2009

Мы обновляем статистику каждую ночь. Нет смысла ждать выходных, если статистика может обновляться ночью - к пятнице они будут хуже, чем в понедельник ...

Проблема в том, что, если это займет слишком много времени?

Для баз данных, в которых есть такая проблема, мы обновляем статистику по определенным таблицам каждую ночь, поэтому некоторые таблицы создаются каждую ночь, некоторые реже. (У нас есть таблица базы данных о том, какие таблицы нужно делать, и история того, сколько времени потребовалось для восстановления статистики, и соответствующим образом настроить расписание)

если статистика 6-8 месяцев, насколько пагубно для производительности базы данных это будет

Я был бы очень удивлен, если бы это не имело большого значения для таблицы, растущей на 1 миллион строк в месяц

Если это ваше реальное состояние, я ожидаю, что таблицы тоже нуждаются в дефрагментации

...