Просмотр свойств статистики
Статистику оптимизации текущего запроса для таблицы или индексированного представления можно просмотреть в SQL Server 2012 с помощью среды Среда SQL Server Management Studio или Transact-SQL. Объекты статистики включают заголовок, содержащий метаданные о статистике, гистограмму, содержащую распределение значений в первом ключевом столбце объекта статистики, и вектор плотностей для измерения корреляции с охватом нескольких столбцов. Дополнительные сведения о гистограммах и векторах плотностей см. в разделе Инструкция DBCC SHOW_STATISTICS (Transact-SQL).
В этом разделе
Перед началом работы выполните следующие действия.
Безопасность
Для просмотра свойств статистики используются:
Среда SQL Server Management Studio
Transact-SQL
Чтобы просматривать объект статистики, пользователь должен быть владельцем таблицы или членом предопределенной роли сервера sysadmin, предопределенной роли базы данных db_owner или предопределенной роли базы данных db_ddladmin.
[Top]
В обозревателе объектов щелкните значок «плюс», чтобы развернуть базу данных, в которой нужно создать новую статистику.
Чтобы развернуть папку Таблицы, щелкните значок «плюс».
Щелкните значок «плюс», чтобы развернуть таблицу, в которой нужно просмотреть свойства статистики.
Щелкните значок «плюс», чтобы развернуть папку Статистика.
Щелкните правой кнопкой мыши объект статистики, для которого нужно просмотреть свойства, и выберите команду Свойства.
В диалоговом окне Свойства статистики — statistics_name на панели Выбор страницы выберите Сведения.
На странице Сведения в диалоговом окне Свойства статистики — statistics_name отображаются следующие свойства.
Имя таблицы
Отображает имя таблицы, которую описывает данная статистика.Имя статистики
Отображает имя объекта базы данных, в котором сохранена статистика.Статистика для INDEXимя_статистики
В этом текстовом поле отображаются свойства, возвращенные из объекта статистики. Эти свойства делятся на три части: заголовок статистики, вектор плотностей и гистограмма.
Следующие данные описывают столбцы, возвращенные в результирующем наборе для заголовка статистики.
Название
Имя объекта статистики.Обновлен
Дата и время последнего обновления статистики.Строки
Общее число строк в таблице или индексированном представлении при последнем обновлении статистики. Если статистика отфильтрована или соответствует отфильтрованному индексу, количество строк может быть меньше, чем количество строк в таблице.Rows Sampled
Общее количество строк, выбранных для статистических вычислений. Если имеет место условие «количество строк выборки < количество строк таблицы», то отображаемые результаты определения гистограммы и вычисления плотности представляют собой оценки, основанные на строках выборки.Steps
Число шагов в гистограмме. Каждый шаг охватывает диапазон значений столбцов, за которым следует значение столбца, представляющее собой верхнюю границу. Шаги гистограммы определяются в первом ключевом столбце статистики. Максимальное число шагов — 200.Плотность
Вычисляется как 1/distinct values для всех значений в первом ключевом столбце объекта статистики после исключения граничных значений гистограммы. Это значение плотности не используется оптимизатором запросов и отображается для обратной совместимости с версиями, предшествующими SQL Server 2008.Средняя длина ключа
Среднее число байтов на значение для всех ключевых столбцов в объекте статистики.String Index
Значение «Да» указывает, что объект статистики содержит сводную строковую статистику, позволяющую уточнить оценку количества элементов для предикатов запроса, использующих оператор LIKE, например WHERE ProductName LIKE '%Bike'. Сводная строковая статистика хранится отдельно от гистограммы и создается в первом ключевом столбце объекта статистики, если он имеет тип char, varchar, nchar, nvarchar, varchar(max), nvarchar(max), text или ntext.Критерий фильтра
Предикат для подмножества строк таблицы, включенных в объект статистики. NULL — неотфильтрованная статистика.Unfiltered Rows
Общее количество строк в таблице перед применением критерия фильтра. Если Filter Expression имеет значение NULL, то столбец Unfiltered Rows совпадает со столбцом Rows.
Следующие данные описывают столбцы, возвращенные в результирующем наборе для вектора плотностей.
Общая плотность
Density составляет 1 / distinct values. В результатах отображаются плотности для каждого префикса столбцов объекта статистики, по одной строке на плотность. Различающееся значение — это отдельный список значений столбцов на строку и на префикс столбцов. Например, если объект статистики содержит ключевые столбцы (A, B, C), то в результатах приводится плотность отдельных списков значений в каждом из следующих префиксов столбцов: (A), (A, B) и (A, B, C). При использовании префикса (A, B, C) каждый из этих списков является отдельным списком значений: (3, 5, 6), (4, 4, 6), (4, 5, 6), (4, 5, 7). При использовании префикса (A, B) одинаковые значения столбцов имеют следующие отдельные списки значений: (3, 5), (4, 4) и (4, 5).Средняя длина
Средняя длина (в байтах) для хранения списка значений столбца для данного префикса столбца. Если каждому значению в списке (3, 5, 6), например, требуется по 4 байта, то длина составляет 12 байт.Columns
Имена столбцов в префиксе, для которых отображаются значения «Общая плотность» и «Средняя длина».
Следующие данные описывают столбцы, возвращенные в результирующем наборе для гистограммы.
RANGE_HI_KEY
Верхнее граничное значение столбца для шага гистограммы. Это значение столбца называется также ключевым значением.RANGE_ROWS
Предполагаемое количество строк, значение столбцов которых находится в пределах шага гистограммы, исключая верхнюю границу.EQ_ROWS
Предполагаемое количество строк, значение столбцов которых равно верхней границе шага гистограммы.DISTINCT_RANGE_ROWS
Предполагаемое количество строк с различающимся значением столбца в пределах шага гистограммы, исключая верхнюю границу.AVG_RANGE_ROWS
Среднее количество строк с повторяющимися значениями столбцов в пределах шага гистограммы, исключая верхнюю границу (RANGE_ROWS/DISTINCT_RANGE_ROWS для DISTINCT_RANGE_ROWS > 0).
Нажмите кнопку ОК.
[Top]
В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2012; GO -- The following example displays all statistics information for the AK_Address_rowguid index of the Person.Address table. DBCC SHOW_STATISTICS ("Person.Address", AK_Address_rowguid); GO
Дополнительные сведения см. в разделе Инструкция DBCC SHOW_STATISTICS (Transact-SQL).
В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2012; GO /*Gets the following information: name and ID of the statistics, whether the statistics were created automatically or by the user, whether the statistics were created with the NORECOMPUTE option, and whether the statistics have a filter and, if so, what that filter is. */ SELECT name AS statistics_name ,stats_id ,auto_created ,user_created ,no_recompute ,has_filter ,filter_definition -- using the sys.stats catalog view FROM sys.stats -- for the Sales.SpecialOffer table WHERE object_id = OBJECT_ID('Sales.SpecialOffer'); GO
Дополнительные сведения см. в разделе sys.stats (Transact-SQL).
[Top]