Câu lệnh SQLite có thể được bắt đầu bằng từ khóa “EXPLAIN” hoặc bằng cụm từ “EXPLAIN QUERY PLAN” được sử dụng để mô tả các chi tiết của bảng.
Việc sửa đổi làm cho câu lệnh SQLite hoạt động như một truy vấn và trả về thông tin về câu lệnh SQLite sẽ hoạt động như thế nào nếu từ khóa hoặc cụm từ EXPLAIN bị bỏ qua.
- Đầu ra từ
EXPLAINvàEXPLAIN QUERY PLANchỉ dành cho phân tích và xử lý sự cố tương tác.
Các ứng dụng không nên sử dụng EXPLAIN hoặc EXPLAIN QUERY PLAN vì hành vi chính xác của chúng là khác nhau và chỉ được ghi lại một phần.
1. Cú pháp EXPLAIN trong SQLite
Cú pháp cho EXPLAIN trong SQLite như sau:
|
1
|
EXPLAIN [SQLite Query] |
Cú pháp của EXPLAIN QUERY PLAN trong SQLite như sau:
|
1
|
EXPLAIN QUERY PLAN [SQLite Query] |
2. Ví dụ EXPLAIN trong SQLite
Giả sử chúng ta có bảng COMPANY có các bản ghi như sau:
|
1
2
3
4
5
6
7
8
9
|
ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------1 Paul 32 California 20000.02 Allen 25 Texas 15000.03 Teddy 23 Norway 20000.04 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.06 Kim 22 South-Hall 45000.07 James 24 Houston 10000.0 |
Bây giờ, chúng ta hãy kiểm tra sub-query sau với câu lệnh SELECT
|
1
|
sqlite> EXPLAIN SELECT * FROM COMPANY WHERE Salary >= 20000; |
Điều này sẽ tạo ra kết quả sau đây.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
addr opcode p1 p2 p3---------- ---------- ---------- ---------- ----------0 Goto 0 191 Integer 0 02 OpenRead 0 83 SetNumColu 0 54 Rewind 0 175 Column 0 46 RealAffini 0 07 Integer 20000 08 Lt 357 16 collseq(BI9 Rowid 0 010 Column 0 111 Column 0 212 Column 0 313 Column 0 414 RealAffini 0 015 Callback 5 016 Next 0 517 Close 0 018 Halt 0 019 Transactio 0 020 VerifyCook 0 3821 Goto 0 122 Noop 0 0 |
Bây giờ, chúng ta hãy kiểm tra Explain Query Plan sau đây với câu lệnh SELECT
|
1
2
3
4
5
|
SQLite> EXPLAIN QUERY PLAN SELECT * FROM COMPANY WHERE Salary >= 20000;order from detail---------- ---------- -------------0 0 TABLE COMPANY |
——————-#####——————-
Loạt bài SQLite được biên dịch từ TutorialsPoint.
Nguồn:https://freetuts.net



