Nếu bản thân bảng là được nhóm , sau đó tất cả các chỉ mục phụ chứa một bản sao của khóa phân cụm (khóa xác định thứ tự vật lý của các hàng trong bảng được phân nhóm).
Lý do:các hàng trong bảng được phân nhóm được lưu trữ vật lý trong cây B (không phải bảng heap) và do đó có thể di chuyển khi các nút của cây B bị tách hoặc liên kết lại, do đó chỉ mục phụ không thể chỉ chứa "con trỏ" hàng (vì nó sẽ có nguy cơ "treo lơ lửng" sau khi hàng di chuyển).
Thông thường, điều đó có ảnh hưởng bất lợi đến hiệu suất - truy vấn thông qua chỉ mục phụ có thể yêu cầu tra cứu kỹ lưỡng :
- Đầu tiên, hãy tìm kiếm chỉ mục phụ và lấy khóa phân nhóm.
- Thứ hai, dựa trên khóa phân cụm được truy xuất ở trên, hãy tìm kiếm chính bảng được phân nhóm (là B-tree).
Tuy nhiên, nếu tất cả những gì bạn muốn là các trường của khóa phân cụm, thì chỉ cần tra cứu đầu tiên.
Aka "chỉ mục theo nhóm" trong MS SQL Server.
Thông thường, nhưng không nhất thiết phải là KHÓA CHÍNH trong MS SQL Server.
Thật không may là tính năng phân cụm được bật theo mặc định trong MS SQL Server - mọi người thường chỉ để mặc định mà không xem xét đầy đủ các ảnh hưởng của nó. Khi phân cụm không phù hợp, bạn nên chỉ định từ khóa KHÔNG CHỈNH SỬA một cách rõ ràng để tắt tính năng này.