Query Execution Plan

Định nghĩa

Query Execution Plan là mô tả cách database sẽ thực thi một query: scan bảng hay dùng index, join theo thứ tự nào, sort ở đâu, và operation nào tốn tài nguyên nhất.

Cách hiểu bằng lời của tôi

Execution plan là bản đồ “database thật sự làm gì”, không phải “mình nghĩ query này làm gì”. Khi query chậm, đọc plan thường cho thấy nguyên nhân: Full Table Scan, index không được dùng, join quá lớn, sort/hash tốn memory, hoặc statistics đã lỗi thời.

Cần quan sát

  • Table scan hay index scan.
  • Join order và join algorithm.
  • Số row ước lượng so với row thực tế.
  • Sort, aggregate, temporary table hoặc spill to disk.
  • Cost/time ở từng bước với EXPLAIN hoặc EXPLAIN ANALYZE.

Liên kết