1. Check cú pháp (hầu như không ảnh hưởng hiệu năng)
  2. Check ngữ nghĩa (hiểu được câu lệnh SELECT - check xem có cột được select trong bảng đó không, check user có quyền không….)
  3. Check chiến lược thực thi (Map, có index không, …) (bước này tốn hiệu năng, vì phải check nhiều bước)
  4. Phân tích chiến lược thực thi (xem xét tất cả các khả năng, các con đường tạo ra, check hết các con đường và chọn con đường thực thi có cost nhỏ nhất)
  5. Tạo ra chiến lược thực thi

→ Tốn hiệu năng nhất ở 3-4-5

POSTGRESQL → Phân tích chi tiết hơn so với MySQL, dùng nhiều yếu tố hơn để đánh giá COST một câu lệnh

Thống kê (phân tích) trong PostgreSQL

PostgreSQL có một hệ thống thu thập và báo cáo thông tin về hoạt động của máy chủ, giúp bạn hiểu rõ hiệu suất và tối ưu hóa cơ sở dữ liệu của mình.

Các loại thống kê trong PostgreSQL:

  1. Thống kê được sử dụng bởi Query Planner:
  2. Thống kê giám sát (Monitoring Statistics):

Cách xem thống kê:

→ PostgreSql trong hầu hết trường hợp thì ngon hơn