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
Trang 1Từ 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 - -
- - - Paul 32
California 20000.0 Allen 25 Texas 15000.0
Teddy 23 Norway 20000.0 Mark 25
Rich-Mond 65000.0 David 27 Texas 85000.0
Kim 22 South-Hall 45000.0 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ả:
Trang 2addr opcode p1 p2 p3 - -
- - - Goto 0 19
Integer 0 0 2 OpenRead 0 8 3
SetNumColu 0 5 4 Rewind 0 17
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 TABLE COMPANY