SQLite - JELASKAN

Pernyataan SQLite dapat diawali dengan kata kunci "MENJELASKAN" atau dengan frasa "MENJELASKAN RENCANA KUERI" yang digunakan untuk menjelaskan rincian tabel.

Salah satu modifikasi menyebabkan pernyataan SQLite berperilaku sebagai kueri dan mengembalikan informasi tentang bagaimana pernyataan SQLite akan beroperasi jika JELASKAN kata kunci atau frase telah dihilangkan.

  • Keluaran dari EXPLAIN and EXPLAIN QUERY PLAN dimaksudkan untuk analisis interaktif dan pemecahan masalah saja.

  • Detail format keluaran dapat berubah dari satu rilis SQLite ke rilis berikutnya.

  • Aplikasi tidak boleh menggunakan EXPLAIN or EXPLAIN QUERY PLAN karena perilaku tepatnya bervariasi dan hanya didokumentasikan sebagian.

Sintaksis

sintaks untuk EXPLAIN adalah sebagai berikut -

EXPLAIN [SQLite Query]

sintaks untuk EXPLAIN QUERY PLAN adalah sebagai berikut -

EXPLAIN  QUERY PLAN [SQLite Query]

Contoh

Pertimbangkan tabel PERUSAHAAN dengan catatan berikut -

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Sekarang, mari kita periksa sub-query berikut dengan pernyataan SELECT -

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

Ini akan menghasilkan hasil sebagai berikut.

addr        opcode      p1          p2          p3
----------  ----------  ----------  ----------  ----------
0           Goto        0           19
1           Integer     0           0
2           OpenRead    0           8
3           SetNumColu  0           5
4           Rewind      0           17
5           Column      0           4
6           RealAffini  0           0
7           Integer     20000       0
8           Lt          357         16          collseq(BI
9           Rowid       0           0
10          Column      0           1
11          Column      0           2
12          Column      0           3
13          Column      0           4
14          RealAffini  0           0
15          Callback    5           0
16          Next        0           5
17          Close       0           0
18          Halt        0           0
19          Transactio  0           0
20          VerifyCook  0           38
21          Goto        0           1
22          Noop        0           0

Sekarang, mari kita periksa yang berikut ini Explain Query Plan dengan pernyataan SELECT -

SQLite> EXPLAIN QUERY PLAN SELECT * FROM COMPANY WHERE Salary >= 20000;

order       from        detail
----------  ----------  -------------
0           0           TABLE COMPANY