AzLearn

EXPLAIN QUERY PLAN

EXPLAIN QUERY PLAN

مفهوم ~19 دقيقة

EXPLAIN QUERY PLAN

EXPLAIN QUERY PLAN في SQLite يعطيك فكرة عن طريقة تنفيذ الاستعلام. هل سيقرأ الجدول كله؟ هل سيستخدم فهرساً؟ هذه ليست أداة سحرية، لكنها بداية ممتازة قبل التخمين.

كلمة SCAN قد تعني قراءة واسعة، وSEARCH ... USING INDEX تعني استخدام فهرس. لا تفهم الخطة من كلمة واحدة فقط؛ انظر إلى الجدول، الشرط، وحجم البيانات.

مثال عملي

query.sql

في بيئة SQLite، ستظهر خطة تشير إلى SEARCH users USING INDEX.

قراءة الخطة — قبل وبعد الفهرس

خرج EXPLAIN QUERY PLAN يتغير بوضوح حين يُضاف فهرس:

بدون فهرس على email:

QUERY PLAN
`--SCAN users

SCAN تعني قراءة كل الجدول — O(n).

مع فهرس على email:

QUERY PLAN
`--SEARCH users USING INDEX idx_users_email (email=?)

SEARCH ... USING INDEX تعني استخدام الفهرس للوصول المباشر.

query.sql
query.sql

قِس بعد الخطة

الخطة تساعدك تفهم، لكنها ليست بديلاً عن قياس زمن الاستعلام على بيانات قريبة من الواقع.

تحدي — Challenge