Tôi có cấu trúc sau.Có bất kỳ tác hại nào để có chỉ mục trùng lặp trong Postgresql không?
CREATE TABLE join_table (
id integer NOT NULL,
col_a integer NOT NULL,
col_b integer NOT NULL
)
CREATE INDEX index_on_col_a ON join_table USING btree (col_a);
CREATE INDEX index_on_col_b ON join_table USING btree (col_b);
CREATE UNIQUE INDEX index_on_col_a_and_col_b ON join_table USING btree (col_a, col_b);
Ngoài ra còn có khóa ngoài trên col_a và col_b.
Rõ ràng index_on_col_a
không còn cần thiết, nhưng có chi phí hoặc lợi ích để giữ hoặc xóa không?
Tôi đoán là;
- giữ nó sẽ làm chậm chèn
- Lựa chọn sử dụng chỉ
col_a
có thể nhanh hơn nếu tôi giữ nó
Có vẻ như bạn đã biết câu trả lời? – Andomar
hmm ... tôi có nên tránh đoán câu hỏi không? có thể ai đó có thứ gì đó chắc chắn hơn là đoán. –
Nó phụ thuộc vào trường hợp, hiệu suất viết tốt hơn hoặc truy vấn perfor Nhưng từ ý kiến cá nhân của tôi, chúng tôi cần chỉ số thả index_on_col_a – francs