sp_statistics (Transact-SQL)
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
Возвращает список всех индексов и статистику для указанной таблицы или индексированного представления.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_statistics
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @index_name = ] N'index_name' ]
[ , [ @is_unique = ] 'is_unique' ]
[ , [ @accuracy = ] 'accuracy' ]
[ ; ]
Примечание.
Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.
Аргументы
[ @table_name = ] N'table_name'
Указывает таблицу, используемую для возврата сведений о каталоге. @table_name — sysname без значения по умолчанию. Сопоставление шаблонов подстановочных знаков не поддерживается.
[ @table_owner = ] N'table_owner'
Имя владельца таблицы, используемой для возврата сведений о каталоге. @table_owner — sysname с значением по умолчаниюNULL
. Сопоставление шаблонов подстановочных знаков не поддерживается. Если owner
это не указано, применяются правила видимости таблицы по умолчанию базовой системы управления базами данных (СУБД).
В SQL Server, если текущий пользователь владеет таблицей с указанным именем, возвращаются индексы этой таблицы. Если owner
не указано, а текущий пользователь не владеет таблицей с указанной name
, эта процедура ищет таблицу с указанным name
владельцем базы данных. Если владелец существует, возвращаются индексы этой таблицы.
[ @table_qualifier = ] N'table_qualifier'
Имя квалификатора таблицы. @table_qualifier имеет имя sysname с значением по умолчаниюNULL
. Различные продукты СУБД поддерживают трехкомпонентное именование таблиц (<qualifier>.<owner>.<name>
). В SQL Server этот параметр представляет имя базы данных. В некоторых СУБД он представляет имя сервера в среде базы данных, где находится таблица.
[ @index_name = ] N'index_name'
Имя индекса. @index_name — sysname с значением по умолчанию%
. Поиск совпадений по шаблону поддерживается.
[ @is_unique = ] 'is_unique'
Следует ли возвращать только уникальные индексы (если Y
). @is_unique — char(1) с пустой строкой по умолчанию.
[ = ] @accuracy 'точность'
Уровень кратности и точности страниц для статистики. @accuracy — char(1) с значением по умолчаниюQ
. Укажите E
, чтобы убедиться, что статистика обновляется таким образом, чтобы кратность и страницы были точными.
E
(SQL_ENSURE
) просит водителя безоговорочно получить статистику.Q
(SQL_QUICK
) запрашивает драйвер получить кратность и страницы, только если они легко доступны с сервера. В этом случае драйвер не гарантирует, что значения являются текущими. Приложения, записываемые в стандарт Open Group, всегда получаютSQL_QUICK
поведение от драйверов, совместимых с ODBC 3.x.
Результирующий набор
Имя столбца | Тип данных | Description |
---|---|---|
TABLE_QUALIFIER |
sysname | Имя квалификатора таблицы. Этот столбец может быть NULL . |
TABLE_OWNER |
sysname | Имя владельца таблицы. Этот столбец всегда возвращает значение . |
TABLE_NAME |
sysname | Имя таблицы. Этот столбец всегда возвращает значение . |
NON_UNIQUE |
smallint | Не допускает значения NULL.0 = уникальный1 = не уникальный |
INDEX_QUALIFIER |
sysname | Имя владельца индекса. В некоторых СУБД пользователям, не являющимся владельцами таблицы, разрешено создавать индексы. В SQL Server этот столбец всегда совпадает TABLE_NAME . |
INDEX_NAME |
sysname | Имя индекса. Этот столбец всегда возвращает значение . |
TYPE |
smallint | Этот столбец всегда возвращает значение:0 = статистика для таблицы1 = кластеризовано2 = Хэшированные3 = некластеризованный |
SEQ_IN_INDEX |
smallint | Позиция столбца в индексе. |
COLUMN_NAME |
sysname | Имя столбца для каждого возвращаемого TABLE_NAME столбца. Этот столбец всегда возвращает значение . |
COLLATION |
char(1) | Порядок сортировки. Возможны следующие варианты:A = возрастаниеD = убываниеNULL = неприменимо |
CARDINALITY |
int | Число строк в таблице или уникальных значений в индексе. |
PAGES |
int | Число страниц для хранения индекса или таблицы. |
FILTER_CONDITION |
varchar(128) | SQL Server не возвращает значение. |
Значения кода возврата
Нет.
Замечания
Индексы в результирующем наборе отображаются в порядке возрастания по столбцам NON_UNIQUE
, и INDEX_NAME
TYPE
SEQ_IN_INDEX
.
Кластеризованный индекс — это индекс, при котором физический порядок хранения данных таблицы соответствует последовательности индекса. Это значение соответствует кластеризованным индексам SQL Server.
Хэшированные индексы принимают точное совпадение или поиск по диапазону, но поиски сопоставления шаблонов не используют индекс.
Системная sp_statistics
хранимая процедура эквивалентна SQLStatistics
ODBC. Возвращаемые результаты упорядочены по NON_UNIQUE
, TYPE
, INDEX_QUALIFIER
и INDEX_NAME
SEQ_IN_INDEX
. Дополнительные сведения см. в справочнике по ODBC.
Разрешения
Требуется SELECT
разрешение на схему.
Пример: Azure Synapse Analytics и система платформы аналитики (PDW)
В следующем примере возвращаются сведения о DimEmployee
таблице из AdventureWorks
образца базы данных.
EXEC sp_statistics DimEmployee;