Esta página describe Calíope 1.7, la versión que estoy construyendo ahora mismo. La 1.6 está en la App Store para Mac, iPad, iPhone, Apple Watch, Apple TV y Apple Vision Pro. El changelog dice en qué versión llegó cada función.

Añade un botón «Abrir en Calíope» a cada tema. Sólo funciona con la app instalada.

Visual EXPLAIN

Visualizar plan de ejecución

Muestra el árbol de operaciones del optimizador de consultas.

Dónde está: Editor SQL › Visual EXPLAIN

Con una consulta SELECT en el Editor SQL, pulsa Visual EXPLAIN en la barra de herramientas. Calíope pide al servidor el plan sin ejecutar la consulta —EXPLAIN FORMAT=JSON en MySQL y MariaDB, EXPLAIN (FORMAT JSON) en PostgreSQL, SET SHOWPLAN_XML en SQL Server, EXPLAIN PLAN json = 1 en ClickHouse, EXPLAIN PLAN FOR en Oracle— y abre la pestaña Visual EXPLAIN con el árbol de nodos del plan.

Cada nodo muestra el tipo de acceso, el índice usado (si aplica), la estimación de filas y el detalle que añade el motor: la condición, el índice elegido o el coste. El tiempo sólo aparece si el motor lo midió, y sin ejecutar la consulta no lo mide ninguno.

Oracle

En Oracle el plan se escribe en PLAN_TABLE, y Calíope borra sus filas en cuanto lo lee: pedir el plan es una escritura en el servidor, aunque la consulta sea un SELECT. El detalle de cada nodo lleva la operación (TABLE ACCESS FULL, INDEX RANGE SCAN), los predicados access y filter, y el coste con los bytes estimados.

ClickHouse

En ClickHouse la lectura de cada tabla sale en amarillo si la llave o un índice de salto descartó gránulos, y en rojo si los leyó todos. Su detalle empieza por los gránulos leídos de los que había («gránulos 2/123»), sigue con lo que descartó cada índice, en gránulos y partes, y termina con la estimación de filas, partes y marcas.

Navegar el árbol:
- macOS: la rueda del ratón o el pellizco de dos dedos en el trackpad para el zoom; arrastra para desplazar el lienzo.
- iPad: pellizca con dos dedos para el zoom, y arrastra con un dedo para desplazarte.
- En todas: los botones − y + de la barra, con el porcentaje en medio, y Ajustar a la ventana para encuadrar el árbol entero. Los atajos son ⌘−, ⌘+ y ⌘0.

La escala va del 18 % al 350 %, que es sitio de sobra para planes con muchos niveles de anidamiento.

Apple Vision Pro: como en el iPad, con sus gestos: pellizcar y mover para desplazar el lienzo, y pellizcar con las dos manos para el zoom. Los botones y los atajos son los mismos.

Palabras clave: explain, plan, optimizador, árbol, JSON explain, zoom, pan, navegar, pinch

Interpretar colores de acceso

Los colores de los nodos indican la eficiencia del acceso a datos.

Dónde está: Visual EXPLAIN › Leyenda de colores

Los nodos del Visual EXPLAIN se colorean según el tipo de acceso, y cada tarjeta lo escribe también en la fila Acceso: verde = búsqueda por clave o constante (el motor va directo a la fila, o ni siquiera lee datos), amarillo = recorrido de un tramo de un índice, naranja = recorrido de un índice entero, rojo = recorrido completo de la tabla (sin índice, el peor caso), azul = ordenación, violeta = unión de varias tablas, gris = el resto (una agregación, una subconsulta o una operación que Calíope no clasifica). La leyenda de la barra nombra los cuatro que más dicen: verde, amarillo, rojo y azul.

Un nodo rojo indica una oportunidad de optimización, generalmente agregando un índice.

Palabras clave: full scan, range, índice, colores, optimización, explain

El Visual EXPLAIN con VoiceOver

El lienzo es un dibujo que VoiceOver no puede leer: el plan se da como una lista en el orden del árbol, sangrada por profundidad.

Dónde está: Espacio de Trabajo › Herramientas › EXPLAIN

El lienzo del plan es un dibujo que VoiceOver no puede leer, así que Calíope lo ofrece como una lista. La sección Jerarquía del Plan de Ejecución tiene una fila por nodo, en el orden del árbol y sangrada por profundidad, con el nombre del nodo y su tipo de acceso, las filas estimadas, el tiempo y el detalle. El tiempo sale siempre «—», porque el plan se pide sin ejecutar la consulta.

Funciona igual en todas las plataformas.

Palabras clave: VoiceOver, accesibilidad, EXPLAIN, plan, nodos