Compartir a través de


sp_statistics (Transact-SQL)

Devuelve una lista de todos los índices y estadísticas de una vista indizada o tabla especificada.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_statistics [ @table_name = ] 'table_name'  
          [ , [ @table_owner = ] 'owner' ] 
     [ , [ @table_qualifier = ] 'qualifier' ] 
          [ , [ @index_name = ] 'index_name' ] 
     [ , [ @is_unique = ] 'is_unique' ]
     [ , [ @accuracy = ] 'accuracy' ]

Argumentos

  • [ @table_name= ] 'table_name'
    Especifica la tabla que se utiliza para devolver información de catálogo. table_name es de tipo sysname y no tiene ningún valor predeterminado. No se admite la coincidencia de patrón de caracteres comodín.

  • [ @table_owner= ] 'owner'
    Es el nombre del propietario de la tabla que se utiliza para devolver información de catálogo. table_owner es de tipo sysname y su valor predeterminado es NULL. No se admite la coincidencia de patrón de caracteres comodín. Si no se especifica owner, se aplican las reglas predeterminadas de visibilidad de tabla del DBMS subyacente.

    En SQL Server, si el usuario actual es propietario de una tabla en la que se especifica el nombre, se devuelven los índices de esa tabla. Si no se especifica owner y el usuario actual no es el propietario de una tabla con el valor de name especificado, este procedimiento busca una tabla con el valor de name especificado que pertenezca al propietario de la base de datos. Si existe una, se devuelven los índices de esa tabla.

  • [ @table_qualifier= ] 'qualifier'
    Es el nombre del calificador de la tabla. qualifier es de tipo sysname y su valor predeterminado es NULL. Varios productos DBMS admiten nombres de tablas formados por tres componentes: (qualifier**.owner.**name). En SQL Server, este parámetro representa el nombre de la base de datos. En algunos productos, representa el nombre del servidor del entorno de base de datos de la tabla.

  • [ @index_name= ] 'index_name'
    Es el nombre del índice. index_name es de tipo sysname y su valor predeterminado es %. Se admite la coincidencia de patrón de caracteres comodín.

  • [ @is_unique= ] 'is_unique'
    Indica si sólo se devolverán índices únicos (si es Y). is_unique es de tipo char(1) y su valor predeterminado es N.

  • [ @accuracy= ] 'accuracy'
    Es el nivel de cardinalidad y la precisión de página de las estadísticas. accuracy es de tipo char(1) y su valor predeterminado es Q. Especifique E para asegurarse de que las estadísticas se actualizan para que la cardinalidad y las páginas sean precisas.

    El valor E (SQL_ENSURE) pide al controlador que recupere las estadísticas de forma incondicional.

    El valor Q (SQL_QUICK) pide al controlador que recupere la cardinalidad y las páginas sólo si están siempre disponibles desde el servidor. En este caso, el controlador no garantiza que los valores sean actuales. Las aplicaciones que están escritas en el estándar Open Group siempre adoptarán el comportamiento de SQL_QUICK de los controladores compatibles con ODBC 3x.

Conjuntos de resultados

Nombre de 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 de la tabla. Esta columna siempre devuelve un valor.

TABLE_NAME

sysname

Nombre de la tabla. Esta columna siempre devuelve un valor.

NON_UNIQUE

smallint

NOT NULL.

0 = Único

1 = 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 es siempre igual que TABLE_NAME..

INDEX_NAME

sysname

Es el nombre del índice. Esta columna siempre devuelve un valor.

TYPE

smallint

Esta columna siempre devuelve un valor:

0 = Estadísticas de una tabla

1 = Agrupado

2 = En hash

3 = No agrupado

SEQ_IN_INDEX

smallint

Posición de la columna dentro del índice.

COLUMN_NAME

sysname

Nombre de cada columna del TABLE_NAME devuelto. Esta columna siempre devuelve un valor.

COLLATION

char(1)

Orden utilizado en la intercalación. Puede ser:

A = Ascendente

D = Descendente

NULL = No aplicable

CARDINALITY

int

Número de filas de la tabla o de 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 ningún valor.

Valores de código de retorno

Ninguno

Notas

Los índices del conjunto de resultados aparecen ordenados, de forma ascendente, por las columnas NON_UNIQUE, TYPE, INDEX_NAME y SEQ_IN_INDEX.

El tipo de índice agrupado hace referencia a un índice en el que los datos de la tabla se almacenan en el orden del índice. Esto corresponde a los índices agrupados de SQL Server.

El tipo de índice en hash acepta búsquedas de coincidencia exacta o de intervalos, pero las búsquedas de coincidencia de patrón no utilizan el índice.

sp_statistics es equivalente a SQLStatistics en ODBC. Los resultados devueltos se ordenan por NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME y SEQ_IN_INDEX. Para obtener más información, vea la Referencia de la API de ODBC.

Permisos

Requiere el permiso SELECT en el esquema.