sys.dm_db_missing_index_columns (Transact-SQL)sys.dm_db_missing_index_columns (Transact-SQL)

ESTE TEMA SE APLICA A:síSQL Server (a partir de 2008)síAzure SQL DatabasenoAzure SQL Data Warehouse noAlmacenamiento de datos paralelos THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Devuelve información sobre las columnas de la tabla de la base de datos que no tienen índice, sin incluir los índices espaciales.Returns information about database table columns that are missing an index, excluding spatial indexes. Sys.dm_db_missing_index_columns es una función de administración dinámica.sys.dm_db_missing_index_columns is a dynamic management function.

SintaxisSyntax


sys.dm_db_missing_index_columns(index_handle)  

ArgumentosArguments

index_handleindex_handle
Un entero que identifica de forma única un índice que falta.An integer that uniquely identifies a missing index. Puede obtenerse a partir de los siguientes objetos de administración dinámica:It can be obtained from the following dynamic management objects:

Sys.dm_db_missing_index_details ( Transact-SQL )sys.dm_db_missing_index_details (Transact-SQL)

Sys.dm_db_missing_index_groups ( Transact-SQL )sys.dm_db_missing_index_groups (Transact-SQL)

Tabla devueltaTable Returned

Nombre de columnaColumn name Tipo de datosData type DescriptionDescription
column_idcolumn_id intint Identificador de la columna.ID of the column.
column_namecolumn_name sysnamesysname Nombre de la columna de la tabla.Name of the table column.
column_usagecolumn_usage varchar (20)varchar(20) Forma en que la consulta utiliza la columna.How the column is used by the query. Los valores posibles y sus descripciones son:The possible values and their descriptions are:

IGUALDAD: Columna contribuye a crear un predicado que expresa igualdad, con el formato:EQUALITY: Column contributes to a predicate that expresses equality, of the form:
Table.Column = constant_valuetable.column = constant_value

DESIGUALDAD: Columna contribuye a crear un predicado que expresa desigualdad, por ejemplo, un predicado con el formato: table.column > constant_value.INEQUALITY: Column contributes to a predicate that expresses inequality, for example, a predicate of the form: table.column > constant_value. Cualquier operador de comparación distinto de "=" expresa desigualdad.Any comparison operator other than "=" expresses inequality.

INCLUDE: Columna no se usa para evaluar un predicado, pero se utiliza por otro motivo, por ejemplo, para cubrir una consulta.INCLUDE: Column is not used to evaluate a predicate, but is used for another reason, for example, to cover a query.

ComentariosRemarks

Información devuelta por sys.dm_db_missing_index_columns se actualiza cuando una consulta está optimizada por el optimizador de consultas y no se conserva.Information returned by sys.dm_db_missing_index_columns is updated when a query is optimized by the query optimizer, and is not persisted. La información sobre índices que faltan solo se conserva hasta que se reinicia SQL ServerSQL Server.Missing index information is kept only until SQL ServerSQL Server is restarted. Los administradores de bases de datos deben realizar copias de seguridad de forma periódica de la información de índices que faltan si desean conservarla después de reciclar el servidor.Database administrators should periodically make backup copies of the missing index information if they want to keep it after server recycling.

Coherencia de las transaccionesTransaction Consistency

Si una transacción crea o quita una tabla, las filas que contienen información de índices que faltan sobre los objetos quitados se eliminan de este objeto de administración dinámica para mantener la coherencia de la transacción.If a transaction creates or drops a table, the rows containing missing index information about the dropped objects are removed from this dynamic management object, preserving transaction consistency.

PermissionsPermissions

Los usuarios deben disponer del permiso VIEW SERVER STATE o de cualquier permiso que implique el permiso VIEW SERVER STATE para consultar esta función de administración dinámica.Users must be granted the VIEW SERVER STATE permission or any permission that implies the VIEW SERVER STATE permission to query this dynamic management function.

EjemplosExamples

En el ejemplo siguiente se ejecuta una consulta en la tabla Address y, después, otra con la vista de administración dinámica sys.dm_db_missing_index_columns para devolver las columnas de la tabla a las que les falta un índice.The following example runs a query against the Address table and then runs a query using the sys.dm_db_missing_index_columns dynamic management view to return the table columns that are missing an index.

USE AdventureWorks2012;  
GO  
SELECT City, StateProvinceID, PostalCode  
FROM Person.Address  
WHERE StateProvinceID = 9;  
GO  
SELECT mig.*, statement AS table_name,  
    column_id, column_name, column_usage  
FROM sys.dm_db_missing_index_details AS mid  
CROSS APPLY sys.dm_db_missing_index_columns (mid.index_handle)  
INNER JOIN sys.dm_db_missing_index_groups AS mig ON mig.index_handle = mid.index_handle  
ORDER BY mig.index_group_handle, mig.index_handle, column_id;  
GO  

Vea tambiénSee Also

Sys.dm_db_missing_index_details ( Transact-SQL ) sys.dm_db_missing_index_details (Transact-SQL)
Sys.dm_db_missing_index_groups ( Transact-SQL ) sys.dm_db_missing_index_groups (Transact-SQL)
Sys.dm_db_missing_index_group_stats ( Transact-SQL )sys.dm_db_missing_index_group_stats (Transact-SQL)