Todos los productos
Search
Centro de documentos

Lindorm:EXPLAIN

Última actualización: Sep 05, 2026

Use EXPLAIN para consultar el plan de ejecución de una sentencia SQL sin ejecutarla. Esto resulta útil al optimizar consultas; por ejemplo, para comprobar si un índice se usa de manera efectiva.

Motores y versiones compatibles

  • LindormTable y LindormTSDB son compatibles con EXPLAIN.

  • Las opciones de profundidad del plan (WITH TYPE y WITHOUT IMPLEMENTATION) requieren LindormTable 2.6.3 o posterior y Lindorm SQL 2.6.4 o posterior. Para conocer la versión de Lindorm SQL, consulte SQL versions.

Sintaxis

explain_statement         ::= EXPLAIN [ PLAN ] [ explain_depth_expression ]
                              [ FOR ] select_statement;
explain_depth_expression  ::= { WITH TYPE | WITHOUT IMPLEMENTATION }

Parámetros

Profundidad del plan

El plan de ejecución que devuelve EXPLAIN tiene tres niveles de profundidad. Use la expresión opcional explain_depth_expression para seleccionar la profundidad.

Profundidad

Expresión

Cuándo usarla

Plan físico

(Ninguna)

Optimización general de consultas. Devuelve el plan totalmente optimizado después de que el optimizador aplica los filtros.

Plan lógico

WITHOUT IMPLEMENTATION

Depuración de la estructura de la consulta antes de la optimización. Devuelve el plan lógico sin optimizar.

Plan de tipos

WITH TYPE

Inspección rápida de los tipos de columna del conjunto de resultados sin ver el plan completo. Devuelve únicamente los tipos de cada columna del conjunto de resultados.

Sentencia SELECT

La select_statement es la consulta cuyo plan de ejecución desea consultar.

Ejemplos

A continuación se muestran ejemplos con esta tabla:

CREATE TABLE test (
    p1 VARCHAR(255) NOT NULL,
    c1 VARCHAR(255),
    PRIMARY KEY (p1)
);

Con estos datos:

INSERT INTO test (p1, c1) VALUES
('3abc9378', '10'),
('3def9378', NULL),
('3ghi1234', '15'),
('3jkl5678', NULL),
('3mno9378', '20'),
('3pqr0000', '25'),
('3stu9378', '30'),
('3vwx0000', NULL),
('3yz_9378', '35'),
('3_1239378', '40');

Los tres ejemplos ejecutan EXPLAIN sobre la misma consulta, cada uno con una profundidad distinta.

Consultar el plan físico

Devuelve el plan de ejecución optimizado. Úselo para la mayoría de las tareas de optimización de consultas.

EXPLAIN SELECT POSITION('9378' IN p1) AS lp, COUNT(c1) FROM (SELECT * FROM test WHERE p1 like '3_%') GROUP BY lp ORDER BY lp;

Consultar el plan lógico

Devuelve el plan lógico sin optimizar. Úselo cuando necesite inspeccionar la estructura original de la consulta antes de que el optimizador la reescriba.

EXPLAIN WITHOUT IMPLEMENTATION FOR SELECT POSITION('9378' IN p1) AS lp, COUNT(c1) FROM (SELECT * FROM test WHERE p1 like '3_%') GROUP BY lp ORDER BY lp;

Consultar el plan de tipos

Devuelve únicamente los tipos de las columnas del conjunto de resultados. Úselo para comprobar rápidamente los tipos sin cargar el plan completo.

EXPLAIN WITH TYPE FOR SELECT POSITION('9378' IN p1) AS lp, COUNT(c1) FROM (SELECT * FROM test WHERE p1 like '3_%') GROUP BY lp ORDER BY lp;