sys.dm_db_missing_index_group_stats (Transact-SQL)sys.dm_db_missing_index_group_stats (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 de resumen sobre los grupos de índices que faltan, excluidos los índices espaciales.Returns summary information about groups of missing indexes, excluding spatial indexes.

En Base de datos SQL de AzureAzure SQL Database, las vistas de administración dinámica no pueden exponer información que impactaría a la contención de la base de datos ni acerca de otras bases de datos a las que el usuario tenga acceso.In Base de datos SQL de AzureAzure SQL Database, dynamic management views cannot expose information that would impact database containment or expose information about other databases the user has access to. Para evitar exponer esta información, cada fila que contiene datos que no pertenecen al inquilino conectado se filtra.To avoid exposing this information, every row that contains data that doesn’t belong to the connected tenant is filtered out.

Nombre de columnaColumn name Tipo de datosData type DescriptionDescription
group_handlegroup_handle intint Identifica un grupo de índices que faltan.Identifies a group of missing indexes. Este identificador es único en todo el servidor.This identifier is unique across the server.

Las otras columnas proporcionan información sobre todas las consultas para las que se considera que falta el índice del grupo.The other columns provide information about all queries for which the index in the group is considered missing.

Un grupo de índices solo contiene un índice.An index group contains only one index.
unique_compilesunique_compiles bigintbigint Número de compilaciones y recompilaciones que se beneficiarían de este grupo de índices que faltan.Number of compilations and recompilations that would benefit from this missing index group. Las compilaciones y recompilaciones de muchas consultas distintas puede contribuir a este valor de columna.Compilations and recompilations of many different queries can contribute to this column value.
user_seeksuser_seeks bigintbigint Número de búsquedas iniciadas por consultas de usuario para las que se podría haber utilizado el índice recomendado del grupo.Number of seeks caused by user queries that the recommended index in the group could have been used for.
user_scansuser_scans bigintbigint Número de recorridos iniciados por consultas de usuario para los que se podría haber utilizado el índice recomendado del grupo.Number of scans caused by user queries that the recommended index in the group could have been used for.
last_user_seeklast_user_seek datetimedatetime Fecha y hora de la última búsqueda iniciada por consultas de usuario para la que se podría haber utilizado el índice recomendado del grupo.Date and time of last seek caused by user queries that the recommended index in the group could have been used for.
last_user_scanlast_user_scan datetimedatetime Fecha y hora del último recorrido iniciado por consultas de usuario para el que se podría haber utilizado el índice recomendado del grupo.Date and time of last scan caused by user queries that the recommended index in the group could have been used for.
avg_total_user_costavg_total_user_cost floatfloat Costo medio de las consultas de usuario que podría reducirse mediante el índice del grupo.Average cost of the user queries that could be reduced by the index in the group.
avg_user_impactavg_user_impact floatfloat Beneficio porcentual medio que podrían obtener las consultas de usuario si se implementara este grupo de índices que faltan.Average percentage benefit that user queries could experience if this missing index group was implemented. El valor significa que el costo de las consultas se reduciría este porcentaje como promedio si se implementara este grupo de índices que faltan.The value means that the query cost would on average drop by this percentage if this missing index group was implemented.
system_seekssystem_seeks bigintbigint Número de búsquedas iniciadas por consultas del sistema, como consultas de estadísticas automáticas, para las que se podría haber utilizado el índice recomendado del grupo.Number of seeks caused by system queries, such as auto stats queries, that the recommended index in the group could have been used for. Para obtener más información, consulte Auto Stats (clase de eventos).For more information, see Auto Stats Event Class.
system_scanssystem_scans bigintbigint Número de recorridos iniciados por consultas del sistema para los que se podría haber utilizado el índice recomendado del grupo.Number of scans caused by system queries that the recommended index in the group could have been used for.
last_system_seeklast_system_seek datetimedatetime Fecha y hora de la última búsqueda en el sistema iniciada por consultas del sistema para la que se podría haber utilizado el índice recomendado del grupo.Date and time of last system seek caused by system queries that the recommended index in the group could have been used for.
last_system_scanlast_system_scan datetimedatetime Fecha y hora del último recorrido en el sistema iniciado por consultas del sistema para el que se podría haber utilizado el índice recomendado del grupo.Date and time of last system scan caused by system queries that the recommended index in the group could have been used for.
avg_total_system_costavg_total_system_cost floatfloat Costo medio de las consultas del sistema que podría reducirse mediante el índice del grupo.Average cost of the system queries that could be reduced by the index in the group.
avg_system_impactavg_system_impact floatfloat Beneficio porcentual medio que podrían obtener las consultas del sistema si se implementara este grupo de índices que faltan.Average percentage benefit that system queries could experience if this missing index group was implemented. El valor significa que el costo de las consultas se reduciría este porcentaje como promedio si se implementara este grupo de índices que faltan.The value means that the query cost would on average drop by this percentage if this missing index group was implemented.

ComentariosRemarks

Información devuelta por sys.dm_db_missing_index_group_stats se actualiza en cada ejecución de la consulta, no por cada consulta compilación o recompilación.Information returned by sys.dm_db_missing_index_group_stats is updated by every query execution, not by every query compilation or recompilation. Las estadísticas de uso no se guardan; solo se conservan hasta que se reinicia SQL ServerSQL Server.Usage statistics are not persisted and are kept only until SQL ServerSQL Server is restarted. Los administradores de bases de datos deben realizar periódicamente una copia de seguridad de la información de los índices que faltan si desean conservar las estadísticas de uso después del reciclaje del servidor.Database administrators should periodically make backup copies of the missing index information if they want to keep the usage statistics after server recycling.

PermissionsPermissions

Para consultar esta vista de administración dinámica, se debe conceder a los usuarios el permiso VIEW SERVER STATE o cualquier permiso que implique el permiso VIEW SERVER STATE.To query this dynamic management view, users must be granted the VIEW SERVER STATE permission or any permission that implies the VIEW SERVER STATE permission.

EjemplosExamples

Los ejemplos siguientes muestran cómo utilizar el sys.dm_db_missing_index_group_stats vista de administración dinámica.The following examples illustrate how to use the sys.dm_db_missing_index_group_stats dynamic management view.

A.A. Buscar los 10 índices que faltan para los que se prevé mayor aumento de rendimiento en las consultas de usuarioFind the 10 missing indexes with the highest anticipated improvement for user queries

La siguiente consulta determina cuáles de los 10 índices que faltan producirían el mayor aumento acumulado previsto, en orden descendente, para consultas de usuario.The following query determines which 10 missing indexes would produce the highest anticipated cumulative improvement, in descending order, for user queries.

SELECT TOP 10 *  
FROM sys.dm_db_missing_index_group_stats  
ORDER BY avg_total_user_cost * avg_user_impact * (user_seeks + user_scans)DESC;  

B.B. Buscar los índices que faltan individuales y sus detalles de columna para un grupo específico de índices que faltanFind the individual missing indexes and their column details for a particular missing index group

La siguiente consulta determina cuáles de los índices que faltan forman un grupo específico de índices que faltan y muestra sus detalles de columna.The following query determines which missing indexes comprise a particular missing index group, and displays their column details. Para este ejemplo, el identificador del grupo de índices que faltan es 24.For the sake of this example, the missing index group handle is 24.

SELECT migs.group_handle, mid.*  
FROM sys.dm_db_missing_index_group_stats AS migs  
INNER JOIN sys.dm_db_missing_index_groups AS mig  
    ON (migs.group_handle = mig.index_group_handle)  
INNER JOIN sys.dm_db_missing_index_details AS mid  
    ON (mig.index_handle = mid.index_handle)  
WHERE migs.group_handle = 24;  

Esta consulta proporciona el nombre de la base de datos, el esquema y la tabla en que falta un índice.This query provides the name of the database, schema, and table where an index is missing. También proporciona los nombres de las columnas que deben usarse para la clave de índice.It also provides the names of the columns that should be used for the index key. Al escribir la instrucción CREATE INDEX DDL para implementar índices que faltan, se muestran las columnas de igualdad en primer lugar y, a continuación, las columnas de desigualdad en ON < table_name> cláusula de la instrucción CREATE INDEX.When writing the CREATE INDEX DDL statement to implement missing indexes, list equality columns first and then inequality columns in the ON <table_name> clause of the CREATE INDEX statement. Las columnas incluidas deben mostrarse en la cláusula INCLUDE de la instrucción CREATE INDEX.Included columns should be listed in the INCLUDE clause of the CREATE INDEX statement. Para determinar un orden efectivo para las columnas de igualdad, ordénelas en función de su selectividad, mostrando primero las columnas más selectivas (extremo izquierdo en la lista de columnas).To determine an effective order for the equality columns, order them based on their selectivity, listing the most selective columns first (leftmost in the column list).

Vea tambiénSee Also

sys.dm_db_missing_index_columns (Transact-SQL) sys.dm_db_missing_index_columns (Transact-SQL)
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)
CREATE INDEX (Transact-SQL)CREATE INDEX (Transact-SQL)