En esta página, se describen los componentes clave del visualizador del plan de consulta.
El visualizador del plan de consultas en la consola de Google Cloud te ayuda a comprender la estructura del plan de ejecución que Spanner elige para evaluar una consulta.
El visualizador muestra el plan como un gráfico visual, lo que facilita el análisis de cómo Spanner ejecuta tus consultas y la identificación de posibles cuellos de botella en el rendimiento. Puedes usar el visualizador del plan de consulta para realizar cualquiera de las siguientes acciones:
- Depura consultas lentas: Identifica qué parte del plan de consulta requiere más tiempo o recursos.
- Valida las optimizaciones: Compara los planes de consulta antes y después de realizar cambios (como agregar un índice o reescribir una unión) para verificar las mejoras.
- Comprende el comportamiento de las consultas: Obtén información sobre cómo Spanner procesa sentencias de SQL complejas, incluidas las uniones, las agregaciones y las operaciones distribuidas.
Beneficios de usar el visualizador del plan de consultas
Los planes de consulta pueden ser complejos. El visualizador simplifica el análisis de los planes con las siguientes funciones:
- Representación gráfica: Muestra el flujo de datos de las tablas y los índices a través de varios operadores hasta el resultado final.
- Estadísticas de rendimiento: Identifica operadores costosos con indicadores visuales de latencia alta y consumo de CPU.
- Visualización del recuento de filas: Muestra el volumen de datos en cada paso con indicadores de grosor de línea.
- Estadísticas detalladas: Proporciona estadísticas específicas del entorno de ejecución para cada operador.
Accede al visualizador del plan de consultas
Puedes acceder al visualizador del plan de consulta en la consola de Google Cloud con cualquiera de los siguientes métodos:
- Spanner Studio: Genera un plan de consultas en vivo y a pedido mientras escribes y pruebas consultas.
- Estadísticas de consultas: Visualiza los planes de consultas históricos y de muestra capturados de las cargas de trabajo de producción a lo largo del tiempo.
Visualiza un plan on demand en Spanner Studio
Para ver un plan de consulta on demand para una consulta en Spanner Studio, sigue estos pasos:
En la consola de Google Cloud , ve a la página Instancias de Spanner.
Haz clic en el nombre de la instancia que contiene la base de datos que deseas consultar.
En la lista Bases de datos, haz clic en el nombre de tu base de datos.
En el menú de navegación, haz clic en Spanner Studio.
En el panel del editor, ingresa tu consulta en SQL.
Haz clic en Ejecutar.
Haz clic en la pestaña Explicación.
Visualiza un plan de muestra en Estadísticas de consultas
Para ver un plan de consulta histórico y con muestreo en Estadísticas de consultas, sigue estos pasos:
En la consola de Google Cloud , ve a la página Instancias de Spanner.
Haz clic en el nombre de la instancia que contiene la base de datos que deseas investigar.
En el menú de navegación, haz clic en Estadísticas de consultas.
Selecciona la base de datos y el período que deseas analizar.
En la tabla Consultas de TopN, haz clic en la consulta o la etiqueta de solicitud que deseas inspeccionar.
En el gráfico Muestras de planes de consulta, haz clic en un punto de muestra que represente una ejecución de consulta.
En la sección Visualizador del plan de consulta, consulta el plan de ejecución visual.
Navega por el visualizador
El visualizador muestra el plan de consulta como un grafo acíclico dirigido (DAG).

La visualización del plan de consulta puede ser grande, según la consulta que hayas ejecutado. Para ocultar o mostrar detalles, haz clic en el selector de vista Expandida/Compacta. Para acercar o alejar la imagen, usa el control de zoom.
La interfaz del visualizador proporciona los siguientes paneles de información:
Para descargar el plan de consulta visualizado, haz clic en Descargar JSON. Para ver el plan de consulta más adelante, puedes volver a importar el perfil JSON descargado a Spanner Studio. Si necesitas solucionar problemas de rendimiento, comparte el archivo JSON con el equipo de asistencia de Spanner.
Grafo acíclico del plan de consultas
La lógica que usa Spanner para ejecutar la consulta aparece como un DAG. El gráfico muestra el flujo de datos de abajo hacia arriba. Las tablas y los índices aparecen en la parte inferior, y el resultado final de la consulta aparece en la parte superior.
Cada nodo del gráfico se representa con una tarjeta. Cada tarjeta representa un iterador que consume filas de sus entradas y produce filas para su elemento superior.
Las líneas que conectan las tarjetas representan el flujo de filas entre los iteradores. El grosor de la línea indica la cantidad relativa de filas pasadas. Las líneas más gruesas indican más filas.
Cada tarjeta del gráfico contiene la siguiente información:
- Nombre del iterador: Es el nombre del iterador.
- Estadísticas del entorno de ejecución: la cantidad de filas mostradas, la latencia y el uso de CPU.
Haz clic en una tarjeta para ver más información sobre la latencia, el uso de CPU, las filas devueltas, el recuento de ejecuciones y el recuento de grupos de máquinas.
Para obtener más información sobre los operadores, consulta Operadores de ejecución de consultas.
Las consultas de Spanner suelen recuperar datos de varias divisiones de la base de datos. Un grupo de máquinas representa un conjunto de operadores de ejecución de consultas contiguos que se ejecutan juntos para un conjunto de divisiones. Dentro de un solo grupo de máquinas, los operadores se ejecutan de forma secuencial de abajo hacia arriba, mientras que los diferentes grupos de máquinas se ejecutan en paralelo. Cuando los datos se mueven entre divisiones que cruzan los límites de los grupos de máquinas, viajan a través de llamadas a procedimiento remoto (RPC).
Para obtener más información sobre las divisiones, consulta Divisiones de bases de datos.
El visualizador te ayuda a distinguir entre la distribución lógica y la física:
- Límites lógicos: Las tarjetas etiquetadas como Distribuidas indican dónde el plan de consultas dividió la lógica de la consulta.
- Distribución física: Los colores del grupo de máquinas en el gráfico representan la ejecución física real derivada de las estadísticas del entorno de ejecución.
Los límites físicos suelen alinearse con los operadores lógicos distribuidos, pero pueden variar según cómo se ubiquen las divisiones en los servidores.
Resumen de consulta
En el panel Resumen de la consulta, se proporcionan las siguientes métricas de ejecución de alto nivel y se destacan los posibles cuellos de botella en la consulta:
- Tiempo total transcurrido: Es el tiempo total que se tarda en ejecutar la consulta de principio a fin.
- Tiempo de CPU: Es el tiempo de CPU acumulado que se consume en todos los subprocesos y servidores que procesan la consulta.
- Tiempo de creación del plan: Es el tiempo que el compilador y el optimizador de consultas dedicaron a generar el plan de ejecución.
- Retraso de la cola del servidor: Es la duración que la consulta pasó esperando en las colas del servidor antes de que comenzara el procesamiento.
- Filas mostradas: Es la cantidad total de filas que se muestran en el resultado final de la consulta.
- Filas analizadas: Es la cantidad total de filas leídas del almacenamiento en todas las tablas y los índices analizados.
- Llamadas remotas: Es la cantidad total de RPC realizadas entre divisiones o grupos de máquinas.
- Versión del optimizador de consultas: Es la versión del optimizador de consultas de Spanner que se usa para compilar el plan.
- Paquete de estadísticas: Es el paquete de estadísticas del optimizador que se usa para la optimización basada en costos.
Operadores importantes
En la sección Operadores destacados, se destacan los iteradores que consumen más recursos en el plan de consulta:
- Latencia más alta: Es el operador con la duración de ejecución más larga.
- Tiempo de CPU más alto: Es el operador que consumió más tiempo de CPU.
- Recuento de filas más alto: Es el operador que procesó o devolvió la mayor cantidad de filas.
Cronograma de ejecución de consultas
En la pestaña Cronograma de ejecución de consultas, se muestra un gráfico basado en el tiempo que indica cuánto tiempo tarda cada grupo de máquinas en ejecutar su parte de la consulta. Es posible que un grupo de máquinas no se ejecute durante toda la consulta o que se ejecute varias veces. Sin embargo, en el cronograma, solo se muestra la hora de inicio de su ejecución inicial y la hora de finalización de su ejecución final.
Indicadores visuales para el rendimiento
El visualizador usa los siguientes colores e íconos para ayudarte a detectar problemas:
- Barras rojas: Indican el porcentaje de latencia o tiempo de CPU que consume ese operador en relación con la consulta total.
- Triángulos de advertencia: Indican que se produjo un análisis completo de la tabla. Estas exploraciones suelen sugerir una oportunidad para optimizar la consulta, por ejemplo, agregando un índice secundario.
- Colores de los grupos de máquinas: Diferencian los grupos de máquinas y destacan las transiciones entre grupos. Estas transiciones requieren una ejecución remota en diferentes máquinas, lo que genera una sobrecarga de serialización y de red. En el cronograma de ejecución de la consulta, también se muestran estos colores de grupo de máquinas.
¿Qué sigue?
- Obtén más información para ajustar una consulta con el visualizador del plan de consultas.
- Obtén información sobre operadores de ejecución de consultas específicos.
- Comprende los planes de ejecución de consultas en profundidad.