Información de consultas en el almacenamiento de datos de Fabric
Se aplica a:✅ punto de conexión de análisis SQL y Almacenamiento de datos en Microsoft Fabric
En Microsoft Fabric, la característica de información de consultas es una solución escalable, sostenible y ampliable para mejorar la experiencia de análisis de SQL. Gracias a los datos históricos de consulta, la información agregada y el acceso al texto de consulta real, puede analizar y ajustar el rendimiento de las consultas. QI proporciona información sobre las consultas que se ejecutan solo en el contexto de un usuario, no se tienen en cuenta las consultas del sistema.
La característica de información de consulta proporciona una ubicación central para datos históricos de consultas e información procesable durante 30 días, lo que le ayuda a tomar decisiones fundamentadas para mejorar el rendimiento del almacén o el punto de conexión de análisis SQL. Cuando una consulta SQL se ejecuta en Microsoft Fabric, la característica de información de consulta recopila y consolida sus datos de ejecución, lo que proporciona información valiosa. Puede ver el texto de consulta completo de los roles de administrador, miembro y colaborador.
- Datos históricos de consultas: la característica de información de consultas almacena datos históricos sobre las ejecuciones de consultas, lo que le permite realizar un seguimiento de los cambios en el rendimiento a lo largo del tiempo. Las consultas del sistema no se almacenan en la información de consulta.
- Información agregada: la característica de información de consulta agrega datos de ejecución de consultas a información más accionable, por ejemplo, la identificación de consultas de ejecución prolongada o la mayoría de los usuarios activos. Estas agregaciones se basan en la forma de consulta. Para obtener más información, consulta ¿Cómo se agregan consultas similares para generar información?
Antes de empezar
Debe tener acceso a unpunto de conexión de análisis SQL o Almacenamiento dentro de un área de trabajo decapacidad Premium con permisos de colaborador o superior.
¿Cuándo necesita información de consulta?
La característica de información de consulta aborda varias preguntas y preocupaciones relacionadas con el rendimiento de las consultas y la optimización de bases de datos, entre las que se incluyen:
Análisis de rendimiento de consultas
- ¿Cuál es el rendimiento histórico de nuestras consultas?
- ¿Hay alguna consulta de duración prolongada que necesite atención?
- ¿Podemos identificar las consultas que provocan cuellos de botella de rendimiento?
- ¿Se ha utilizado la memoria caché para mis consultas?
- ¿Qué consultas son las que más CPU consumen?
Ajuste y optimización de consultas
- ¿Qué consultas se ejecutan con frecuencia y se puede mejorar su rendimiento?
- ¿Se pueden identificar las consultas con errores o canceladas?
- ¿Se puede realizar un seguimiento de los cambios en el rendimiento de las consultas a lo largo del tiempo?
- ¿Hay alguna consulta que tenga un rendimiento deficiente de forma sistemática?
Supervisión de la actividad del usuario
- ¿Quién envió una consulta determinada?
- ¿Quiénes son los usuarios más activos o los usuarios con las consultas de ejecución más prolongada?
Hay tres vistas del sistema para proporcionar respuestas a estas preguntas:
queryinsights.exec_requests_history (Transact-SQL)
- Devuelve información sobre cada solicitud o consulta SQL completada.
queryinsights.exec_sessions_history (Transact-SQL)
- Devuelve información sobre las consultas que se ejecutan con frecuencia.
queryinsights.long_running_queries (Transact-SQL)
- Devuelve información sobre las consultas por tiempo de ejecución de consulta.
queryinsights.frequently_run_queries (Transact-SQL)
- Devuelve información sobre las consultas que se ejecutan con frecuencia.
¿Dónde puede ver información de consulta?
Las vistas generadas automáticamente se encuentran en el esquema de queryinsights
en Punto de conexión de análisis SQL y Almacén. En el Explorador de tejido de un almacén, por ejemplo, busque vistas de información de consulta en Esquemas, queryinsights, Vistas.
Una vez completada la ejecución de la consulta, verá sus datos de ejecución en las vistas de queryinsights
del almacén o el punto de conexión de análisis SQL al que estaba conectado. Si ejecuta una consulta entre bases de datos mientras se encuentra en el contexto de WH_2
, la consulta aparece en la información de consulta de WH_2
. Las consultas completadas pueden tardar hasta 15 minutos en aparecer en la información de consulta en función de la carga de trabajo simultánea que se ejecuta. El tiempo necesario para que las consultas aparezcan en la información de consulta aumenta con el aumento de las consultas simultáneas que se ejecutan.
¿Cómo se agregan consultas similares para generar información?
Las consultas se consideran iguales por la información de consulta si tienen la misma forma, incluso si los predicados pueden ser diferentes.
Puede usar la columna query hash
en las vistas para analizar consultas similares y explorar cada ejecución en profundidad.
Por ejemplo, las siguientes consultas se consideran iguales después de que se parametricen sus predicados:
SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';
y
SELECT * FROM Orders
WHERE OrderDate BETWEEN '2000-07-01' AND '2006-07-31';
Ejemplos
Identificar las consultas ejecutadas por el usuario en los últimos 30 minutos
La consulta siguiente usa queryinsights.exec_requests_history
y la función USER_NAME()
integrada, que devuelve el nombre de usuario de la sesión actual.
SELECT * FROM queryinsights.exec_requests_history
WHERE start_time >= DATEADD(MINUTE, -30, GETUTCDATE())
AND login_name = USER_NAME();
Identificación de las consultas con mayor consumo de CPU por tiempo de CPU
La consulta siguiente devuelve las 100 consultas principales por tiempo de CPU asignado.
SELECT TOP 100 distributed_statement_id, query_hash, allocated_cpu_time_ms, label, command
FROM queryinsights.exec_requests_history
ORDER BY allocated_cpu_time_ms DESC;
Identificación de las consultas que examinan más datos de forma remota en lugar de la caché
Puede determinar si el examen de datos de gran tamaño durante la ejecución de consultas ralentiza la consulta y tomar decisiones para ajustar el código de consulta en consecuencia. Este análisis le permite comparar diferentes ejecuciones de consultas e identificar si la varianza en la cantidad de datos examinados es el motivo de los cambios de rendimiento.
Además, puede evaluar el uso de la memoria caché si examinan la suma de data_scanned_memory_mb
y data_scanned_disk_mb
, y la compara con data_scanned_remote_storage_mb
para ejecuciones anteriores.
Nota:
Es posible que los valores examinados de datos no tengan en cuenta los datos que se han movido durante las fases intermedias de ejecución de la consulta. En algunos casos, el tamaño de los datos movidos y la CPU necesaria para el procesamiento puede ser mayor que el valor que los datos examinados indican.
SELECT distributed_statement_id, query_hash, data_scanned_remote_storage_mb, data_scanned_memory_mb, data_scanned_disk_mb, label, command
FROM queryinsights.exec_requests_history
ORDER BY data_scanned_remote_storage_mb DESC;
Identificar las consultas que se ejecutan con más frecuencia mediante una subcadena en el texto de la consulta
La consulta siguiente devuelve las consultas más recientes que coinciden con una cadena determinada, ordenadas por el número de ejecuciones correctas de forma descendente.
SELECT * FROM queryinsights.frequently_run_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY number_of_successful_runs DESC;
Identificar las consultas de ejecución prolongada mediante una subcadena en el texto de la consulta
La consulta siguiente devuelve las consultas que coinciden con una cadena determinada, ordenadas por el tiempo medio de ejecución de consultas de forma descendente.
SELECT * FROM queryinsights.long_running_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY median_total_elapsed_time_ms DESC;