Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 consulta: Query Insights almacena datos históricos sobre las ejecuciones de consultas, lo que le permite realizar un seguimiento de los cambios de rendimiento a lo largo del tiempo. Las consultas del sistema no se almacenan en la información de consulta.
- Información agregada: Query Insights agrega datos de ejecución de consultas a información más accionable, como la identificación de consultas de larga duración 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?
-
Perspectivas del Almacén: Para comprender el estado general de su almacén, use la vista
sql_pool_insights. Esta vista proporciona métricas de nivel de grupo e indicadores de presión, lo que le ayuda a supervisar la asignación de recursos y diagnosticar problemas de rendimiento entre grupos.
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?
Optimización y ajuste 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?
Supervisión de grupo de SQL y recursos
- ¿Mi grupo de SQL estaba bajo presión durante la ejecución de la consulta?
- ¿Con qué frecuencia se ha registrado presión en la piscina en las últimas 24 horas?
- ¿Ha habido algún cambio reciente en la capacidad del área de trabajo o la configuración del grupo?
- ¿Qué grupos consumen el porcentaje más alto de recursos?
- ¿Puedo correlacionar eventos de presión con consultas de ejecución lenta?
- ¿Cómo puedo identificar las tendencias en la presión del grupo a lo largo del tiempo?
Las siguientes vistas del sistema proporcionan respuestas a estas preguntas:
queryinsights.exec_requests_history
- Devuelve información sobre cada solicitud o consulta SQL completada.
queryinsights.exec_sessions_history
- Devuelve información sobre las sesiones completadas.
queryinsights.long_running_queries
- Devuelve información sobre las consultas por tiempo de ejecución de consulta.
queryinsights.consultas_ejecutadas_frecuentemente
- Devuelve información sobre las consultas que se ejecutan con frecuencia.
queryinsights.sql_pool_insights
- Devuelve información sobre la asignación de recursos de almacenamiento, los cambios de configuración y la presión.
¿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 Query Insights si las consultas tienen la misma estructura, 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 procesar puede ser mayor que el valor de los datos examinados indica.
Los valores escaneados de los datos aparecen como 0 en las declaraciones COPY INTO.
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;
Vista de información sobre consultas
- queryinsights.exec_requests_history
- queryinsights.exec_sessions_history
- queryinsights.long_running_queries
- queryinsights.consultas_ejecutadas_frecuentemente
- queryinsights.sql_pool_insights