SQLite - AÇIKLAMA

SQLite deyiminden önce "EXPLAIN" anahtar sözcüğü veya bir tablonun ayrıntılarını açıklamak için kullanılan "EXPLAIN QUERY PLAN" ifadesi gelebilir.

Her iki değişiklik de SQLite ifadesinin bir sorgu gibi davranmasına ve EXPLAIN anahtar sözcüğü veya deyimi atlanmış olsaydı SQLite ifadesinin nasıl çalıştığı hakkında bilgi döndürmesine neden olur.

  • EXPLAIN ve EXPLAIN SORU PLANININ çıktısı yalnızca etkileşimli analiz ve sorun giderme için tasarlanmıştır.

  • Çıktı formatının ayrıntıları bir SQLite sürümünden diğerine değişebilir.

  • Uygulamalar, tam davranışları değişken olduğundan ve yalnızca kısmen belgelendiğinden EXPLAIN veya EXPLAIN QUERY PLAN kullanmamalıdır.

Sözdizimi

sözdizimi EXPLAIN aşağıdaki gibidir -

EXPLAIN [SQLite Query]

sözdizimi EXPLAIN QUERY PLAN aşağıdaki gibidir -

EXPLAIN  QUERY PLAN [SQLite Query]

Misal

Aşağıdaki kayıtlarla ŞİRKET tablosunu düşünün -

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

Şimdi, aşağıdaki alt sorguyu SELECT deyimi ile kontrol edelim -

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

Bu, aşağıdaki sonucu verecektir.

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

Şimdi aşağıdakileri kontrol edelim Explain Query Plan SELECT ifadesiyle -

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

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