Từ khóa EXPLAIN trong SQLite



Một lệnh SQLite có thể được đặt trước bởi từ khóa EXPLAIN hoặc bởi cụm từ EXPLAIN QUERY PLAN để miêu tả các chi tiết của bảng.

Hoặc các sửa đổi làm cho các lệnh SQLite vận hành như là một truy vấn và để trả về thông tin về cách lệnh SQLite sẽ được vận hành nếu từ khóa EXPLAIN.

  • Kết quả từ EXPLAIN và EXPLAIN QUERY PLAN là chỉ để dành cho việc phân tích và xử lý các sự cố.

  • Các ứng dụng không nên sử dụng EXPLAIN và EXPLAIN QUERY PLAN khi cách vận hành của chúng là biến đổi.

Cú pháp

Cú pháp cơ bản của EXPLAIN là như sau:

EXPLAIN [SQLite Query]

Cú pháp cơ bản của EXPLAIN QUERY PLAN là như sau:

EXPLAIN  QUERY PLAN [SQLite Query]

Ví dụ

Bạn theo dõi bảng COMPANY có các bản ghi sau:

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

Bây giờ, chúng ta kiểm tra truy vấn con EXPLAIN với lệnh SELECT:

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

Ví dụ trên sẽ cho kết quả:

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

Cú pháp cơ bản của EXPLAIN QUERY PLAN là như sau:

SQLite> EXPLAIN QUERY PLAN SELECT * FROM COMPANY WHERE Salary >= 20000;
order       from        detail
----------  ----------  -------------
0           0           TABLE COMPANY

Các bài học SQLite phổ biến khác tại VietJack: