2015-01-15 2 views
1

Я не могу найти никакого определенного ответа от BOL об этом. У меня есть сценарий, по которому советник по настройке базы данных мне советовал создать статистику. Это пример нескольких из них:Наличие того же столбца в нескольких статистических данных

CREATE STATISTICS [_dta_stat_1045578763_1_4] ON [dbo].[BillableTimeEntries]([Id], [Phase_Id]) WITH FULLSCAN 
go 

CREATE STATISTICS [_dta_stat_1045578763_1_11_4] ON [dbo].[BillableTimeEntries]([Id], [LineItem_Id], [Phase_Id]) WITH FULLSCAN 
go 

Я уже прошел через все предложенные те, создание и удалить дубликаты статистики, поскольку this post указывает порядок нерелевантные (статистика по столбцам а, Ь, с такой же, как статистика по столбцам b, c, a).

Мой вопрос, так как второй CREATE STATISTICS блок имеет Phase_Id и Id включен, будет второй обложкой первого или же они оба создают раздельные статистические данные, которые будут влиять на запрос по-другому?

ответ

1

вы можете создать статистику и использовать команду DBCC SHOW_STATISTICS, чтобы увидеть различия между ними. Здесь http://msdn.microsoft.com/en-us/library/ms190397.aspx вы можете прочитать, как эта работа:

Запрос Предикат содержит несколько коррелированных столбцы Когда предикат запроса содержит несколько столбцов, которые имеют отношения кросса-столбцы и зависимости, статистика по нескольким столбцам может улучшить план запроса , Статистика нескольких столбцов содержит статистику сопоставления столбцов, называемую плотностями, которые недоступны в статистике с одним столбцом. Плотности могут улучшить оценки мощности, когда результаты запроса зависят от отношений данных между несколькими столбцами. Если столбцы уже находятся в одном индексе, объект статистики многоколонки уже существует, и нет необходимости его вручную создавать. Если столбцы уже не находятся в одном индексе, вы можете создать статистику многоколонограмм, создав индекс в столбцах или используя оператор CREATE STATISTICS. Для поддержания индекса требуется больше системных ресурсов, чем объект статистики. Если для приложения не требуется многоколоночный индекс, вы можете экономить на системных ресурсах, создав объект статистики без создания индекса. При создании многоколоночной статистики порядок столбцов в определении объекта статистики влияет на эффективность плотностей для оценки кардинальности. Объект статистики хранит плотности для каждого префикса ключевых столбцов в определении объекта статистики. Дополнительные сведения о плотности см. В DBCC SHOW_STATISTICS (Transact-SQL).

+0

Спасибо за ссылку. Я думал, что прочитал эту страницу, но, должно быть, пропустил этот раздел. Итак, если я правильно читаю это, если индекс уже имеет столбцы при создании индекса, для тех же столбцов не нужно создавать дополнительные статистические данные? Кроме того, строка ниже этого примера кода, вероятно, является самой полезной частью и отвечает на мой вопрос. – TTeeple

+0

Hallo TTeeple, я рад, если он вам поможет. – Giova

Смежные вопросы