Nó chỉ là một vài tháng lập trình trong SQL Server đối với tôi vì vậy kiến thức của tôi không tốt về nhiều mặt. Trong một dự án đã có sẵn tại nơi làm việc, tôi đã bắt gặp nhiều bảng với các khóa chính tổng hợp lớn với chỉ mục được nhóm. Từ những gì tôi đã thu thập được, một cột lớn / cột tổng hợp với chỉ mục được nhóm thực hiện rất hiệu quả và đôi khi giải pháp logic là một cột định danh. Nhưng đồng thời, tôi đã bắt gặp nhiều người đổ lỗi cho việc sử dụng quá mức các cột danh tính.
Nhưng tôi chưa bao giờ bắt gặp một ví dụ trong đó cột danh tính là một ý tưởng tồi.
Gần đây, chúng tôi đã tiêu chuẩn hóa rằng mỗi bảng nên có một cột định danh là chỉ mục được nhóm - cho dù chúng tôi có sử dụng nó làm PK hay không, vì chúng tôi yêu cầu nó cho một số mục đích xuất khẩu.
Vì vậy, tôi muốn một số ví dụ, trong các tình huống thực tế, trong đó sử dụng một cột danh tính làm chỉ mục cụm là một ý tưởng tồi.
Mặc dù đôi khi nó làm cho cuộc sống của chúng ta dễ dàng, tôi chưa bao giờ gặp phải một kịch bản mà nó sẽ bị coi là xấu.
PS: Tôi nghĩ rằng câu hỏi của tôi hơi ngây thơ nhưng nó đang làm phiền tôi rất nhiều vì vậy tôi đã phải hỏi về nó.
INT IDENTITY
làm khóa chính (và được nhóm) trên hầu hết mọi bảng. Đó là một đề xuất tốt thực hành tốt nhất và thường hoạt động tốt. Theo tôi, trường hợp này không phải là một ý tưởng tốt là tương đối hiếm.