Query Plan
কুয়েরি প্ল্যান
Query চালানোর blueprint — operator-দের গাছ (scan, join, sort) যার sequence-ই ফল ঠিক করে, খরচও।
also: explain-plan, execution-plan
এক SQL-এর বৈধ plan অনেক; planner খরচ দেখে একটা বাছে:
EXPLAIN SELECT c.name, SUM(o.amount)
FROM orders o JOIN customers c ON o.customer_id = c.id
WHERE o.amount > 100 GROUP BY c.name ORDER BY 1 LIMIT 10;
Limit → Sort → HashAggregate → HashJoin → [Filter→Scan orders, Scan customers]
- Logical plan: কী (algebra tree); physical plan: কীভাবে (algorithm choice per node)
- EXPLAIN শুধু plan; ANALYZE সঙ্গে actual rows/times — estimate vs reality gap-ই debugging-এর প্রথম সুতো
- Plan cache: prepared statement-এ plan reuse — data distribution বদলালে বিপদও reuse
Plan পড়াতেই optimizer-কে কথা বলানো শেখা — ভিতরে ঢোকার দরজা EXPLAIN।