sys.dm_db_index_usage_stats (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Devuelve recuentos de diferentes tipos de operaciones de índice y la hora en que se realizó por última vez cada uno de los tipos de operación.

En Azure SQL Database, las vistas de administración dinámica no pueden mostrar información que afecte a la contención de la base de datos o que exponga datos acerca de otras bases de datos a las que el usuario tenga acceso. Para evitar exponer esta información, se filtran todas las filas que contienen datos que no pertenecen al inquilino conectado.

Nota:

La DMV sys.dm_db_index_usage_stats no devuelve información sobre índices optimizados para memoria ni índices espaciales. Para obtener información sobre el uso de índices optimizados para memoria, consulte sys.dm_db_xtp_index_stats (Transact-SQL).

Nota:

Para llamar a esta vista desde Azure Synapse Analytics o Analytics Platform System (PDW), use sys.dm_pdw_nodes_db_index_usage_stats. El grupo de SQL sin servidor no admite esta sintaxis en Azure Synapse Analytics.

Nombre de la columna Tipo de datos Descripción
database_id smallint Id. de la base de datos en la que se define la tabla o vista.

En Azure SQL Database, los valores son únicos dentro de una base de datos única o un grupo elástico, pero no dentro de un servidor lógico.
object_id int Id. de la tabla o vista en la que se define el índice.
id_de_índice int Id. del índice.
user_seeks bigint Número de consultas de búsqueda realizadas por el usuario.
user_scans bigint Número de exámenes realizados por consultas de usuario que no usaron predicado "seek".
user_lookups bigint Número de búsquedas de marcadores realizadas por consultas de usuario.
user_updates bigint Número de consultas de actualización realizadas por el usuario. Esto incluye Insertar, Eliminar y Novedades que representan el número de operaciones realizadas no las filas reales afectadas. Por ejemplo, si elimina 1000 filas en una instrucción, este recuento aumenta en 1.
last_user_seek datetime Hora en que el usuario realizó la última búsqueda.
last_user_scan datetime Hora en que el usuario realizó el último recorrido.
last_user_lookup datetime Hora de la última búsqueda del usuario.
last_user_update datetime Hora en que el usuario realizó la última actualización.
system_seeks bigint Número de consultas de búsqueda realizadas por el sistema.
system_scans bigint Número de consultas de recorrido realizadas por el sistema.
system_lookups bigint Número de búsquedas realizadas por consultas del sistema.
system_updates bigint Número de consultas de actualización realizadas por el sistema.
last_system_seek datetime Hora de la última búsqueda del sistema.
last_system_scan datetime Hora en que el sistema realizó el último recorrido.
last_system_lookup datetime Hora en que el sistema realizó la última búsqueda.
last_system_update datetime Hora en que el sistema realizó la última actualización.
pdw_node_id int Se aplica a: Azure Synapse Analytics, Sistema de la plataforma de análisis (PDW)

Identificador del nodo en el que se encuentra esta distribución.

Comentarios

Cada búsqueda, recorrido o actualización en el índice especificado realizado por una ejecución de la consulta se cuenta como un uso de ese índice e incrementa el contador correspondiente en esa vista. Se ofrece información tanto de las operaciones causadas por las consultas emitidas por el usuario, como de las consultas generadas internamente, tales como los recorridos realizados para recopilar estadísticas.

La user_updates columna es un contador de mantenimiento en el índice causado por operaciones de inserción, actualización o eliminación en la tabla o vista subyacentes. Puede utilizar esta vista para determinar los índices que las aplicaciones apenas utilizan. También puede utilizar esta vista para determinar los índices que producen una sobrecarga de mantenimiento. Puede considerar la opción de quitar los índices que produzcan esta sobrecarga, pero que no se utilicen para consultas o se usen con poca frecuencia.

Los contadores se inicializan en vacíos cada vez que se inicia el motor de base de datos. Use la columna sqlserver_start_time en sys.dm_os_sys_info para encontrar la hora del último inicio del motor de base de datos. Además, cada vez que una base de datos se separa o se apaga (por ejemplo, porque se establece AUTO_CLOSE en ON), se quitan todas las filas asociadas con la base de datos.

Cuando se usa un índice, se agrega una fila a sys.dm_db_index_usage_stats si aún no existe una fila para el índice. Cuando se agrega la fila, sus contadores se establecen inicialmente en cero.

Durante la actualización a SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) o SQL Server 2014 (12.x), se quitan las entradas de sys.dm_db_index_usage_stats . A partir de SQL Server 2016 (13.x), las entradas se conservan como antes de SQL Server 2008 R2 (10.50.x).

Permisos

En SQL Server y SQL Managed Instance, requiere el permiso VIEW SERVER STATE.

En los objetivos de servicio de SQL Database Basic, S0 y S1, y para las bases de datos de grupos elásticos, se requiere la cuenta de administrador del servidor, la cuenta de administrador de Microsoft Entra o la pertenencia al rol de ##MS_ServerStateReader##servidor. En el resto de objetivos del servicio de SQL Database, se requiere el permiso VIEW DATABASE STATE en la base de datos o la pertenencia en el rol del servidor ##MS_ServerStateReader##.

Permisos para SQL Server 2022 y versiones posteriores

Requiere el permiso VER ESTADO DE RENDIMIENTO DEL SERVIDOR en el servidor.

Consulte también

Funciones y vistas de administración dinámica relacionadas con índices (Transact-SQL)
sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)
Supervisión y optimización del rendimiento