Tôi có một bảng với khóa Chính tổng hợp (bao gồm 4 cột) được sử dụng để đảm bảo không có mục trùng lặp nào được nhập vào bảng. Bây giờ tôi đang cần một bảng mới sẽ cần tham chiếu các khóa trong bảng này là khóa ngoại.
Câu hỏi của tôi là cách tiếp cận nào hiệu quả hơn cho tốc độ tra cứu:
1) Tôi có tạo bảng mới bao gồm cả 4 cột và tham chiếu tất cả chúng trong một khóa ngoại.
hoặc là
2) Tôi có tạo cột nhận dạng mới trong bảng Khóa chính và sử dụng khóa này làm khóa ngoại trong bảng mới.
Cơ sở dữ liệu này dự kiến sẽ chứa một lượng dữ liệu rất lớn, vì vậy tôi đã xây dựng nó cho đến bây giờ với mục đích giảm thiểu lượng dữ liệu được giữ trong mỗi bảng. Với suy nghĩ này, tùy chọn 2 sẽ là cách tiếp cận tốt nhất vì tôi sẽ lưu 2 cột int và cột datetime cho mỗi hàng, nhưng tôi muốn tránh tăng thời gian tra cứu nếu không cần thiết.
INT IDENTITY
) trong trường hợp như vậy - làm cho việc tham chiếu và tham gia bảng đó trở nên dễ dàng hơn nhiều. Để tránh trùng lặp, đặt một ràng buộc ĐỘC ĐÁO trên bốn cột đó. Ngoài ra: các khóa chính hẹp tốt hơn nhiều vì lý do hiệu suất (nếu chúng được sử dụng làm khóa phân cụm)