1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Cải thiện hiệu năng truy vấn trong PostgreSQL

Connected

Bài tập

Khám phá pg_tables

Để tạo kế hoạch truy vấn, bộ lập kế hoạch (query planner) cần các thông tin cơ bản như tên bảng, tên cột và số lượng hàng của mỗi bảng hoặc view. Thiếu các thông tin này, planner sẽ không biết cần duyệt bao nhiêu hàng để tìm các cột cụ thể dùng trong điều kiện lọc. Planner cũng sẽ không biết liệu có thể dùng tìm kiếm qua index hay không.

Loại siêu dữ liệu (metadata) này được lưu trong schema pg_tables. Cụ thể, planner sử dụng pg_class và pg_stats. Hãy xem thử các đối tượng này chứa những thông tin gì.

Hướng dẫn 1/2

undefined XP
  • 1

    Đầu tiên, liệt kê tất cả các cột trong pg_class. Sau đó chọn cột cho biết bảng daily_aqi có index hay không.

  • 2

    Dùng pg_stats để tìm thống kê ở cấp độ cột. Lọc bảng daily_aqi theo category.