با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، و کاربرانی که دوره آموزش SQLite را دنبال می کنند. از کلمه کلیدی EXPLAIN در SQLite برای توصیف و نمایش جزئیات جداول SQLite استفاده می شود. دستورات SQLite می تواند قبل از کلمه کلیدی “EXPLAIN” یا با عبارت “EXPLAIN QUERY PLAN” برای توصیف جزئیات جدول مورد استفاده قرار گیرند. در ادامه ی این آموزش شما را با طرز کار با EXPLAIN در SQLite و جزیئات آن آشنا می کنیم.
در ادامه ی این آموزش شما را با سینتکس اصلی و مثال هایی از EXPLAIN در SQLite آشنا می کنیم.
سینتکس پایه ی کلمه کلیدی EXPLAIN در SQLite به صورت زیر است :
1 | EXPLAIN [SQLite Query] |
سینتکس دستور EXPLAIN QUERY PLAN به صورت زیر است :
1 | EXPLAIN QUERY PLAN [SQLite Query] |
مثال
جدول COMPANY را با رکوردهای زیر در نظر بگیرید :
1 2 3 4 5 6 7 8 9 | 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 |
سپس sub-query زیر را با دستور SELECT چک می کنیم :
1 | sqlite> EXPLAIN SELECT * FROM COMPANY WHERE Salary >= 20000; |
کد فوق، نتیجه ی زیر را تولید می کند :
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 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 |
حالا دستور Explain Query Plan را با دستور SELECT زیر چک می کنیم :
1 2 3 4 5 | SQLite> EXPLAIN QUERY PLAN SELECT * FROM COMPANY WHERE Salary >= 20000; order from detail ---------- ---------- ------------- 0 0 TABLE COMPANY |
در برخی مواقع ممکن است لازم شود که جزئیات یک دستور SQL را در SQLite مشاهده کنید، که در این خصوص استفاده از کلمه کلیدی EXPLAIN در SQLite بهترین گزینه محسوب می شود.