[TIL – PostgreSQL] Tăng tốc 50 lần cho PostgreSQL chỉ với 1 config nhỏ

TL; DR

Nếu server của bạn dùng SSD thì hãy thử thay đổi config của random_page_cost về 1. Vì SSD thì tốc độ truy xuất ngẫu nhiên và truy xuất tuần tự gần như tương đương => Postgre tính query plan sẽ chuẩn hơn.

Chi tiết

Thi thoảng đọc query plan của PostgreSQL bạn sẽ thấy dù bạn đánh index rồi, nhưng index vẫn không được sử dụng. Lí do thì mình cũng đã sơ qua trong bài viết dưới đây

[PostgreSQL] Tại sao không phải lúc nào postgre cũng dùng index ?

Tóm tắt thì do postgre quy ước thao tác truy cập tuần tự (seq_page_cost) có giá trị 1, thao tác truy cập ngẫu nhiên (random_page_cost) có giá trị 4. Đây là giá trị mặc định, chỉ phù hợp với HDD.

Vì thế nếu server của bạn dùng SSD thì bạn nên thay đổi giá trị random_page_cost về 1 thì query plan sẽ chính xác hơn

SET random_page_cost = 1

Kết

  • Bài viết có tham khảo từ: medium
  • Cảm ơn bạn đã đọc bài. Chúc bạn có một ngày làm việc hiệu quả.

Bình luận về bài viết này