Эксплуатация SQL Server

Статистика SQL Server и оценка кардинальности

Оптимизатор выбирает соединения, доступ и память по оценочному числу строк. Если оценка далека от факта, разумный план становится дорогим.

Статистика SQL Server и оценка кардинальности

Оптимизатор выбирает соединения, доступ и память по оценочному числу строк. Если оценка далека от факта, разумный план становится дорогим.

Что измерять

Сравнивайте оценочные и фактические строки на первом значимом операторе. Проверяйте гистограмму, счетчики изменений, выборку, растущие ключи, коррелированные предикаты и выражения над столбцами.

Практический подход

Оставьте автоматическую статистику включенной, обновляйте важную статистику после существенных изменений, применяйте фильтрованную или многоколоночную статистику для конкретных перекосов и переписывайте непрозрачные предикаты.

Чего следует избегать

Не запускайте FULLSCAN для всей статистики каждую ночь, не считайте, что rebuild обновляет все, и не скрывайте каждую ошибку подсказкой.

Эксплуатационный результат

Обслуживание статистики должно зависеть от изменения данных и чувствительности нагрузки, а не от общего календаря.

Проверка перед production

Зафиксируйте исходные показатели и определите ожидаемое улучшение. Проверьте решение на репрезентативных данных и при реальной параллельной нагрузке. Сохраните исходную настройку или план, подготовьте откат и наблюдайте следующий обычный пик нагрузки.

Чтобы применить этот подход к конкретной среде SQL Server, используйте форму ниже и укажите версию SQL Server, размер базы, профиль нагрузки и уже собранные данные.

Вопрос по статье

Есть вопрос по этой теме?

Расскажите, что вы оцениваете или с какой проблемой столкнулись. Мы ответим с практической рекомендацией.

Inquiries are not enabled in this preview.

Задать вопрос по этой статье