Что делает «Создание статистики» в SQL Server 2005? - PullRequest
43 голосов
/ 24 сентября 2008

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

Ответы [ 5 ]

38 голосов
/ 24 сентября 2008

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

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

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

8 голосов
/ 24 сентября 2008

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

3 голосов
/ 24 сентября 2008

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

2 голосов
/ 24 сентября 2008

С БОЛ ...

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

2 голосов
/ 24 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...