Что делает "Создание статистики" в SQL Server 2005?

Помощник по настройке базы данных рекомендует мне создать статистику в моей базе данных. Я что-то вроде SQL n00b, поэтому я впервые столкнулся с таким существом. Запись в MSDN была немного тупой - кто-то может объяснить, что именно это делает, и почему это хорошая идея?

5 ответов

Решение

Оптимизация запросов на основе затрат - это метод, который использует гистограммы и количество строк для эвристической оценки стоимости выполнения плана запроса. Когда вы отправляете запрос в SQL Server, он оценивает его и генерирует серию планов запросов, для которых он использует эвристику для оценки затрат. Затем он выбирает самый дешевый план запроса.

Статистика используется оптимизатором запросов для расчета стоимости планов запросов. Если статистика отсутствует или устарела, у нее нет правильных данных для оценки плана. В этом случае он может генерировать планы запросов, которые являются умеренно или крайне неоптимальными.

SQL Server (в большинстве случаев) автоматически генерирует статистику по большинству таблиц и индексов, но вы можете дополнить их или принудительно обновить. Мастер настройки запросов предположительно обнаружил недостающую статистику или идентифицированные объединения в запросе, для которых должна быть добавлена ​​статистика.

Статистика используется оптимизатором, чтобы определить, следует ли использовать конкретный индекс для вашего запроса. Без статистики оптимизатор не может узнать, сколько ваших строк будет соответствовать заданному условию, что приводит к необходимости оптимизации для случая "много строк", который может быть неоптимальным.

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

По сути, он просто обновляет SQL с учетом того, какой у вас тип индексации, количество строк и т. Д. Это помогает SQL лучше оценить, как выполнять ваши запросы. Постоянно обновлять статистику - это хорошо.

С БОЛ...

Создает гистограмму и связанные группы плотности (коллекции) над предоставленным столбцом или набором столбцов таблицы или индексированного представления. Сводная статистика по строкам также создается на основе статистики, построенной на столбцах char, varchar, varchar(max), nchar, nvarchar, nvarchar(max), text и ntext. Оптимизатор запросов использует эту статистическую информацию, чтобы выбрать наиболее эффективный план для извлечения или обновления данных. Обновленная статистика позволяет оптимизатору точно оценивать стоимость различных планов запросов и выбирать высококачественный план.

Другие вопросы по тегам