English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQLite Explain (explicación)

Antes de la sentencia SQLite se puede agregar el nombre propio “EXPLAIN” o la frase “EXPLAIN QUERY PLAN” para describir los detalles de la tabla.

Ambas modificaciones harán que la declaración SQLite se comporte como una consulta y devuelva información sobre cómo se ejecutaría la declaración SQLite si se omitiera el nombre del comando o la frase EXPLAIN.

  • La salida de EXPLAIN y EXPLAIN QUERY PLAN se utiliza solo para análisis interactivos y resolución de problemas.

  • Los detalles del formato de salida pueden cambiar de una versión de SQLite a otra.

  • La aplicación no debería usar EXPLAIN o EXPLAIN QUERY PLAN, ya que su comportamiento exacto es variable y solo una parte se registra.

EXPLAIN QUERY PLAN

La sintaxis es la siguiente:Considerar la tabla COMPANY con los siguientes registros

EXPLAIN PLAN QUERY [Consulta SQLite]

Ejemplo en líneaConsiderar la tabla COMPANY con los siguientes registros

SALARIO

DIRECCIÓN

EDAD-

NOMBRE
----------  ----------  ----------  ----------  ----------
1           ID        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Noruega      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          Sur-Hall  45000.0
7           James       24          Houston     10000.0

Ahora, vamos a usar la sentencia SELECT para verificar la siguiente subconsulta-

sqlite> EXPLAIN SELECT * FROM COMPANY WHERE Salary >= 20000;

esto producirá el siguiente resultado.

dir1          p2          p3
----------  ----------  ----------  ----------  ----------
0 Goto           19
1           Entero
2           AbrirLectura           8
3           EstablecerNumColu           5
4           Rebobinar           17
5           Columna           4
6           RealAffini
7           Entero     20000
8           Lt          357         16          collseq(BI
9           Rowid
10          Columna           1
11          Columna           2
12          Columna           3
13          Columna           4
14          RealAffini
15          Callback    5           0
16          Siguiente           5
17          Cerrar
18          Detener
19          Transacción
20 VerificarCook           38
21          Goto           1
22          Noop        0           0

Ahora, veamos cómo se utiliza Explain Query Plan en la cláusula SELECT:

SQLite> EXPLAIN QUERY PLAN SELECT * FROM COMPANY WHERE Salary >= 20000;
orden       de        detalle
----------  ----------  -------------
0           0           TABLA COMPANY