Tôi có bảng đa hình được gọi là "Phiếu bầu", trong đó có phiếu bầu từ Câu trả lời và câu hỏi.Cách lập chỉ mục bảng đa hình trong đường ray không phải là duy nhất "hiệp hội_type" và "hiệp hội_id"
Votes
user_id voteable_id voteable_type value
1 2 Answer 1
2 2 Answer 1
Trong trường hợp này, câu trả lời với id = 2 có hai phiếu lên.
Câu hỏi đặt ra là: Làm cách nào để lập chỉ mục bảng này?
cách tiếp cận thứ nhất:
add_index :votes, [:voteable_id, :voteable_type]
này sẽ không làm việc bởi vì giá trị khóa trùng lặp ý vi phạm hạn chế duy nhất
cách tiếp cận thứ hai:
add_index :votes, :voteable_id,
add_index :votes, :voteable_type
này một Tôi đoán sẽ không có nhiều hiệu suất vì c truy vấn omposite cho id và loại cùng một lúc.
Thứ ba cách tiếp cận:
add_index :votes, [:user_id, :voteable_id, :voteable_type]
là người cuối cùng này một tốt nhất? Có ba cột được lập chỉ mục quá nhiều không?
Cảm ơn
cảm ơn! Tôi không biết tại sao nó được tạo ra với duy nhất trong di cư trước đây của tôi. bây giờ nó đã làm việc – Luccas
Có sự khác biệt nào giữa phương pháp tiếp cận đầu tiên và cách tiếp cận thứ hai hay chỉ là vấn đề cú pháp? – kibaekr
Cách tiếp cận đầu tiên là chỉ số trên hai trường, cách tiếp cận thứ hai là hai chỉ mục riêng biệt. – RebeccaD