sp_statistics (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Devuelve una lista de todos los índices y estadísticas de una vista indizada o tabla especificada.
Convenciones de sintaxis de Transact-SQL
Sintaxis
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' ]
[ ; ]
Nota:
El grupo de SQL sin servidor no admite esta sintaxis en Azure Synapse Analytics.
Argumentos
[ @table_name = ] N'table_name'
Especifica la tabla que se usa para devolver información de catálogo. @table_name es sysname, sin ningún valor predeterminado. No se admite la coincidencia de patrones comodín.
[ @table_owner = ] N'table_owner'
Nombre del propietario de la tabla que se usa para devolver información del catálogo. @table_owner es sysname, con un valor predeterminado de NULL
. No se admite la coincidencia de patrones comodín. Si owner
no se especifica, se aplican las reglas de visibilidad de tabla predeterminadas del sistema de administración de bases de datos subyacente (DBMS).
En SQL Server, si el usuario actual posee una tabla con el nombre especificado, se devuelven los índices de esa tabla. Si owner
no se especifica y el usuario actual no posee una tabla con el especificado name
, este procedimiento busca una tabla con la propiedad especificada name
por el propietario de la base de datos. Si existe una, se devuelven los índices de esa tabla.
[ @table_qualifier = ] N'table_qualifier'
Nombre del calificador de tabla. @table_qualifier es sysname, con un valor predeterminado de NULL
. Varios productos de DBMS admiten la nomenclatura de tres partes para tablas (<qualifier>.<owner>.<name>
). En SQL Server, este parámetro representa el nombre de la base de datos. En algunos productos, representa el nombre de servidor del entorno de base de datos de la tabla.
[ @index_name = ] N'index_name'
Nombre de índice. @index_name es sysname, con un valor predeterminado de %
. Se admite la coincidencia de patrón de caracteres comodín.
[ @is_unique = ] 'is_unique'
Indica si solo se van a devolver índices únicos (si Y
). @is_unique es char(1), con un valor predeterminado de cadena vacía.
[ @accuracy = ] 'precision'
Nivel de cardinalidad y precisión de página para las estadísticas. @accuracy es char(1), con un valor predeterminado de Q
. Especifique E
para asegurarse de que las estadísticas se actualicen para que la cardinalidad y las páginas sean precisas.
E
(SQL_ENSURE
) pide al controlador que recupere incondicionalmente las estadísticas.Q
(SQL_QUICK
) pide al controlador que recupere la cardinalidad y las páginas, solo si están disponibles fácilmente desde el servidor. En este caso, el controlador no garantiza que los valores estén actualizados. Las aplicaciones escritas en el estándar Open Group siempre obtienenSQL_QUICK
el comportamiento de los controladores compatibles con ODBC 3.x.
Conjunto de resultados
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
TABLE_QUALIFIER |
sysname | Nombre del calificador de la tabla. Esta columna puede ser NULL . |
TABLE_OWNER |
sysname | Nombre del propietario. Esta columna siempre devuelve un valor. |
TABLE_NAME |
sysname | Nombre de la tabla. Esta columna siempre devuelve un valor. |
NON_UNIQUE |
smallint | No acepta valores NULL.0 = Único1 = No único |
INDEX_QUALIFIER |
sysname | Nombre del propietario del índice. Algunos productos DBMS permiten crear índices a usuarios que no sean los propietarios de la tabla. En SQL Server, esta columna siempre es la misma que TABLE_NAME . |
INDEX_NAME |
sysname | El nombre del índice. Esta columna siempre devuelve un valor. |
TYPE |
smallint | Esta columna siempre devuelve un valor:0 = Estadísticas de una tabla1 = Agrupado2 = hash3 = No agrupado |
SEQ_IN_INDEX |
smallint | Posición de la columna dentro del índice. |
COLUMN_NAME |
sysname | Nombre de columna para cada columna del TABLE_NAME devuelto. Esta columna siempre devuelve un valor. |
COLLATION |
char(1) | Orden utilizado en la intercalación. Puede ser:A = ascendenteD = DescendenteNULL = No aplicable |
CARDINALITY |
int | Número de filas de la tabla o valores únicos del índice. |
PAGES |
int | Número de páginas para el almacenamiento del índice o tabla. |
FILTER_CONDITION |
varchar(128) | SQL Server no devuelve un valor. |
Valores de código de retorno
Ninguno.
Comentarios
Los índices del conjunto de resultados aparecen en orden ascendente por las columnas NON_UNIQUE
, TYPE
, INDEX_NAME
y SEQ_IN_INDEX
.
El tipo de índice clúster hace referencia a un índice en el que los datos de la tabla se almacenan en el orden del índice. Este valor corresponde a los índices en clúster de SQL Server.
El tipo de índice Hashed acepta búsquedas exactas de coincidencias o intervalos, pero las búsquedas de coincidencia de patrones no usan el índice.
El sp_statistics
procedimiento almacenado del sistema es equivalente a SQLStatistics
en ODBC. Los resultados devueltos se ordenan mediante NON_UNIQUE
, TYPE
, INDEX_QUALIFIER
, INDEX_NAME
, y SEQ_IN_INDEX
. Para obtener más información, consulte la referencia de ODBC.
Permisos
Es necesario contar con un permiso de tipo SELECT
sobre el esquema.
Ejemplo: Azure Synapse Analytics and Analytics Platform System (PDW)
En el ejemplo siguiente se devuelve información sobre la DimEmployee
tabla de la AdventureWorks
base de datos de ejemplo.
EXEC sp_statistics DimEmployee;