Foundationপ্রথম নীতি থেকে
LEVEL 8 · Database Systems

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।