Query Execution Plan برنامه‌ای است که بهینه‌ساز دیتابیس برای اجرای کوئری انتخاب می‌کند. این برنامه نشان می‌دهد آیا از ایندکس استفاده می‌شود، کدام Join انجام می‌شود و چه تعداد ردیف تخمین زده می‌شود.

-- MySQL
EXPLAIN SELECT * FROM orders WHERE customer_id = 5;
-- PostgreSQL
EXPLAIN (ANALYZE, BUFFERS) SELECT * FROM orders WHERE customer_id = 5;

پلن اجرا الزاماً بعد از ایجاد ایندکس بهتر نمی‌شود. گاهی اسکن ترتیبی برای جدول کوچک یا وقتی بخش بزرگی از رکوردها خوانده می‌شوند، انتخاب مناسب‌تری است.

اصطلاحات مرتبط: ایندکسینگ، بهینه‌سازی کوئری، بی تری.

پلن اجرای کوئری را ببینیم

EXPLAIN ANALYZE
SELECT id, total FROM orders
WHERE customer_id = 42;

ساختار و کلیدواژه‌های EXPLAIN بین دیتابیس‌ها فرق دارد. در PostgreSQL، ANALYZE کوئری را اجرا می‌کند و در MySQL نسخه‌های جدید نیز امکان EXPLAIN ANALYZE وجود دارد.