عمليات خطة التنفيذ في SQLite
مرجع قصير لأشهر عمليات خطة التنفيذ في SQLite. ووثائق المنتج الخاصة بها هنا.
الوصول إلى الفهرس والجدول
SCAN TABLE …تقرأ الجدول بأكمله.
SEARCH TABLE … USING INDEX
تجتاز شجرة فهرس، وتتبع قائمة العقد الورقية، وتجلب البيانات المقابلة من الجدول.
SEARCH TABLE … USING COVERING INDEX
تجتاز شجرة فهرس وتتبع قائمة العقد الورقية لجلب جميع الصفوف المطابقة (وتُعرف بـمسح الفهرس فقط).
عمليات الربط
تعالج عمليات الربط عموماً جدولين في المرة الواحدة. وإذا كان للاستعلام عمليات ربط أكثر، نُفِّذت تتابعياً: الجدولان الأولان أولاً، ثم النتيجة الوسيطة مع الجدول التالي. وفي سياق الربط، قد يعني مصطلح «جدول» أيضاً «نتيجة وسيطة».
يدعم SQLite عمليات الربط بالحلقات المتداخلة فقط. وتبدأ خطة الاستعلام بعرض الوصول إلى الجدول الأقصى خارجياً، ثم كل وصول متداخل بعده (على غرار MySQL/MariaDB).
ولا تشير التداخلات في خرج خطة الاستعلام إلى عمليات ربط بل إلى استعلامات متداخلة (بما فيها union وexcept وintersect).
الترتيب والتجميع
يحتاج SQLite دائماً إلى فهرس من أجل order by وgroup by وdistinct. وإذا لم يوجد فهرس مناسب في النظام قبل تقييم الاستعلام، يُنشأ فهرس مؤقت.
USE TEMP B-TREE FOR …
يشير إلى إنشاء فهرس مؤقت لتنفيذ العملية المحددة.
استعلامات Top-N
لا يظهر أثر جملة limit في خرج explain query plan. أما في خرج explain الخام، فيمكنك رؤية LIMIT counter.