sys.dm_db_index_usage_stats (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 Actualizaciones 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 Básico, S0 y S1 de SQL Database y para bases de datos en grupos elásticos, se requiere la cuenta de administrador del servidor, la cuenta de administrador Microsoft Entra o la pertenencia al ##MS_ServerStateReader##
rol del 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