Theo Craig Ringer :
Mặc dù thường là một ý tưởng tốt để tạo một chỉ mục trên (hoặc bao gồm) các cột khóa ngoại bên tham chiếu của bạn, nhưng không bắt buộc. Mỗi chỉ mục bạn thêm làm chậm các hoạt động DML xuống một chút, do đó bạn phải trả chi phí hiệu năng cho mỗi
INSERT
,UPDATE
hoặcDELETE
. Nếu chỉ số hiếm khi được sử dụng, nó có thể không có giá trị.
Làm thế nào để bạn xác định nếu lợi ích của việc thêm một chỉ mục vượt qua chi phí của nó?
Bạn có hồ sơ kiểm tra đơn vị trước / sau khi thêm một chỉ mục và kiểm tra mức tăng hiệu suất tổng thể? đây có phải là cách tốt hơn không?
pg_stat_user_indexes
giúp hướng dẫn bạn điều này, hiển thị thông tin về việc sử dụng chỉ mục. Để ước tính chi phí bảo trì, bạn có thể xem hoạt động ghi bảng của mìnhpg_stat_user_tables
nhưng vì HẤP DẪN, không phải tất cả các cập nhật sẽ nhất thiết phải chạm vào chỉ mục để bạn có thể đánh giá quá cao một chút.