Query Insight combina los registros de consultas lentas con la tabla del sistema hg_table_info para ofrecer una visión completa del comportamiento de cualquier consulta: consumo de recursos, metadatos de tablas, plan de ejecución y actividad de bloqueos. Úselo para diagnosticar consultas lentas, investigar fallas y determinar si un conflicto DDL o un bloqueo de tabla provocó el error.
Requisitos previos
Antes de empezar, asegúrese de que cumple con lo siguiente:
Inició sesión en una instancia de Hologres. Para más detalles, consulte Log on to an instance
Cuenta con los permisos obligatorios para consultar los registros de consultas lentas. Para más detalles, consulte Slow query log viewing and analysis
Umbrales de recopilación de datos
Query Insight obtiene información de dos fuentes de datos, cada una con sus propias reglas de recopilación. Revise estos umbrales antes de consultar para saber cuándo estarán disponibles los datos.
|
Data |
Collection rule |
Notes |
|
Instrucciones DML |
Tiempo de ejecución > 100 ms |
Umbral predeterminado del registro de consultas lentas |
|
Instrucciones DDL |
Se recopilan todas las instrucciones DDL |
Solo aparecen en los resultados de búsqueda las instrucciones con un tiempo de ejecución > 1 s |
|
Planes de ejecución |
Tiempo de ejecución > 10 s |
Los planes se extraen del campo Plan de los registros de consultas lentas |
|
Metadatos de tablas |
Se recopilan una vez cada mañana |
Los datos están disponibles en T+1 (al día siguiente); las tablas creadas hoy se pueden consultar mañana |
|
Análisis de conflictos DDL |
Revisa la ventana de 1 minuto antes y después de la ejecución de la consulta |
— |
Acceso a Query Insight
Acceso directo a Query Insight
Query Insight está disponible desde tres ubicaciones en HoloWeb. En la página Query Insight puede consultar Query Metadata y Table Metadata, además de ejecutar Plan Visualization y Table Lock Analysis.
Acceso directo desde Diagnostics and Optimization:
Inicie sesión en la consola de administración de Hologres.
En el panel de navegación izquierdo de la barra de menú superior, seleccione la región de destino.
Haga clic en Go to HoloWeb.
En el menú superior, seleccione Diagnostics and Optimization. Luego, en el panel de navegación izquierdo, haga clic en Metadata Warehouse Analysis > Query Insight.

Navegación hacia Query Insight
Navegación desde el editor SQL:
En el editor SQL de HoloWeb, cualquier instrucción SQL con un tiempo de ejecución mayor a 1 s que contenga un Query ID muestra un enlace a Query Insight. Haga clic en el enlace para abrir la consulta directamente en Query Insight.
Navegación desde Historical Slow Queries:
En la lista de consultas de la página Historical Slow Queries, haga clic en el icono
de la columna Actions correspondiente a la consulta de destino para ir a Query Insight.
Metadatos de consultas
Los metadatos de consultas provienen de los registros de consultas lentas de Hologres. En la pestaña Query Metadata, seleccione el Instance Name y el Query ID, y luego haga clic en Search.
La pestaña muestra las siguientes secciones:
Información básica
Muestra el identificador de la instancia, la base de datos y la versión de Milvus de la consulta.
Información de la consulta
Presenta el usuario, el estado de ejecución y el motor utilizado para la consulta, según los datos recopilados de los registros de consultas lentas.
Consumo de recursos
Indica el uso de recursos durante la ejecución de la consulta a partir de los registros de consultas lentas. Incluye las funciones de escaneo y el consumo de CPU.
Otra información
Contiene metadatos adicionales de los registros de consultas lentas, como la dirección IP del cliente.
SQL
Muestra la instrucción SQL completa. Utilice la opción de formato para obtener una vista más legible o copie la instrucción directamente.
Detalles de la consulta
Si la consulta se ejecutó con parámetros, esta sección muestra los valores específicos. Combine los parámetros con la instrucción SQL si es necesario.
Plan de ejecución
Presenta el plan de ejecución obtenido del campo Plan en los registros de consultas lentas.
Los planes de ejecución solo se recopilan para consultas con un tiempo de ejecución mayor a 10 s.
Utilice la función de visualización de planes para ver una representación gráfica. Para más contexto sobre cómo interpretar los planes de ejecución, consulte EXPLAIN and EXPLAIN ANALYZE.
Estadísticas
Muestra los datos de consumo por operador del campo Statistics en los registros de consultas lentas. Incluye el número de filas escaneadas y el tiempo de ejecución de cada operador. Use esta información para identificar qué operadores consumen más recursos.
Información de tablas de lectura y escritura
Enumera las tablas que la consulta leyó o modificó. Haga clic en cualquiera de los enlaces para acceder a análisis adicionales:
Table Metadata: abre la página de metadatos de la tabla seleccionada. Esta información proviene de la tabla
hg_table_infoy se actualiza en T+1. Las tablas creadas hoy no se pueden consultar hasta mañana.Table Lock Analysis: abre la página de análisis de bloqueos de tablas para comprobar si la consulta retiene algún bloqueo relacionado con el lenguaje de manipulación de datos (DML). Resulta útil cuando una consulta con un plan fijo se ralentiza debido a operaciones DML concurrentes del motor de ejecución de Hologres (HQE).
Análisis de conflictos DDL
Indica si las tablas involucradas en la consulta tuvieron operaciones de lenguaje de definición de datos (DDL) dentro del minuto anterior o posterior al momento de ejecución. Si la consulta falló con el mensaje de error Query is canceled, esta sección le ayuda a confirmar si un conflicto DDL provocó el error.
Mensajes de error
Si la consulta presentó errores, aquí aparecen los detalles. Query Insight en HoloWeb agrega automáticamente las causas del fallo y las soluciones sugeridas para ayudarle a resolver errores SQL. Para consultar una referencia de fallos SQL comunes, vea FAQ for Hologres SQL statements.
Metadatos de tablas
Los metadatos de tablas provienen de la tabla del sistema hg_table_info, que se actualiza una vez cada mañana. Los datos están disponibles en T+1.
Vaya a Table Metadata mediante el enlace Table Metadata en la sección Read/Write Table Information de Query Metadata. También puede introducir directamente el nombre de la instancia, la base de datos, el esquema y la hora de recopilación de metadatos.
La pestaña muestra las siguientes secciones:
Información básica: nombre de la tabla, si está particionada y detalles de las particiones.
Información de metadatos de la tabla: fecha de creación de la tabla, hora de recopilación de metadatos y capacidad de almacenamiento.
Información de propiedades de la tabla: índices configurados en la tabla, incluida la clave principal (PK) y la clave de distribución.
Table Schema Information: campos, tipos de campo, aceptación de valores nulos y valores predeterminados.
Visualización de planes
Plan Visualization muestra el campo Plan de los registros de consultas lentas como un plan de ejecución gráfico.
Los datos del plan solo se recopilan para consultas con un tiempo de ejecución mayor a 10 s.
Por dónde empezar: revise primero la sección Statistics en Query Metadata. Ahí encontrará los conteos de filas y los tiempos de ejecución por operador, lo que le permite identificar los operadores que más recursos consumen antes de explorar el gráfico completo del plan.
Para consultar información de referencia sobre los conceptos de los planes de ejecución, vea EXPLAIN and EXPLAIN ANALYZE.
Análisis de bloqueos de tablas
Table Lock Analysis comprueba si la consulta generó operaciones DML (INSERT, UPDATE o DELETE) en el motor de ejecución de Hologres (HQE). Existe un bloqueo cuando una tabla tiene simultáneamente consultas de lectura del SDK o HQE junto con consultas DML de HQE.
Table Lock Analysis detecta únicamente bloqueos relacionados con DML, no bloqueos DDL.
Si se detecta contención de bloqueos, evite ejecutar consultas del SDK y operaciones DML de HQE contra la misma tabla de forma simultánea.
Solución de problemas
Error: relation with OID xxx does not exist
Este error ocurre cuando una tabla involucrada en la consulta fue objeto de una operación TRUNCATE o DROP, lo cual cambió su identificador de objeto (OID).
Para investigarlo: introduzca el Query ID en Query Insight y revise la sección DDL Conflict Analysis para confirmar si existían bloqueos DDL en el momento de la consulta.

Error: query is canceled
Este error aparece cuando las tablas involucradas en la consulta sufrieron operaciones DDL, como TRUNCATE o DROP, mientras la consulta se estaba ejecutando.
Para investigarlo: introduzca el Query ID en Query Insight. En la pestaña Query Metadata, abra la sección DDL Conflict Analysis para ver las operaciones DDL realizadas sobre la tabla afectada.

Latencia alta en instrucciones SQL del SDK
Si una instrucción SQL del SDK tarda más de lo esperado, compruebe si existe contención de bloqueos.
Para investigarlo: en la sección Read/Write Table Information, haga clic en Table Lock Analysis.

Si el análisis muestra una instrucción DML concurrente de HQE, significa que dicha operación adquirió un bloqueo de tabla y obligó a la consulta del SDK a esperar. Evite ejecutar ambos tipos de operaciones contra la misma tabla al mismo tiempo.
Si no se encuentran operaciones DML de HQE, la latencia no se debe a bloqueos de tablas. Consulte Optimize write and update performance para continuar con la investigación.
Error: Dispatch query failed: The shards are incomplete
Este error indica que uno o más fragmentos de la instancia de Hologres entraron en un estado inconsistente, generalmente a causa de un coredump. El problema se origina por un defecto de software en versiones anteriores (como r4.1.10) y no guarda relación con la cantidad de conexiones.
Para solucionarlo, actualice su instancia de Hologres a la versión 4.1.12 o posterior. Se recomienda actualizar a la versión 4.1.18 o posterior para obtener la mejor estabilidad. Para ver las instrucciones, consulte Actualizar la versión de la instancia.