English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQLite Explain (توضيح)

يمكن إضافة كلمة المفتاح "EXPLAIN" أو العبارة "EXPLAIN QUERY PLAN" أمام جملة SQLite لوصف تفاصيل الجدول.

هذه التعديلات ستؤدي إلى أن يبدو جملة SQLite كأنها استعلام، وستقوم بإرجاع معلومات حول كيفية تشغيل جملة SQLite إذا تم تجاهل كلمة المفتاح أو العبارة "EXPLAIN".

  • يستخدم صدور EXPLAIN و EXPLAIN QUERY PLAN فقط للتحليل التفاعلي وإصلاح الأخطاء.

  • يمكن أن تتغير تفاصيل تنسيق الصدور من إصدار إلى آخر من SQLite.

  • لا يجب على التطبيقات استخدام EXPLAIN أو EXPLAIN QUERY PLAN، لأن سلوكها الدقيق يختلف وسيتم تسجيل جزء فقط.

النحو

EXPLAINالنحو كالتالي:

EXPLAIN [استعلام SQLite]

EXPLAIN QUERY PLANالنحو كالتالي:

خطط الاستعلام [استعلام SQLite]

مثال على الإنترنت

بالنظر إلى جدول COMPANY الذي يحتوي على السجلات التالية-

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

الآن، دعونا نستخدم جملة SELECT لتحقق من الاستعلام الفرعي التالي-

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

هذا سينتج النتيجة التالية.

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:

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