Với một số máy chủ/ngôn ngữ lập trình b-tree vẫn được sử dụng ngày nay, các tệp ascii dài cố định hoặc biến đổi được sử dụng để lưu trữ dữ liệu. Khi một bản ghi/hàng dữ liệu mới được thêm vào một tệp (bảng), bản ghi là (1) được nối vào cuối tệp (hoặc thay thế một bản ghi đã xóa) và (2) các chỉ mục được cân bằng. Khi dữ liệu được lưu trữ theo cách này, bạn không phải lo lắng về hiệu năng hệ thống (theo như những gì mà máy chủ b-tree đang thực hiện để trả về một con trỏ tới bản ghi dữ liệu đầu tiên). Thời gian phản hồi chỉ được thực hiện bằng số nút trong tệp chỉ mục của bạn.
Khi bạn sử dụng SQL, bạn hy vọng sẽ nhận ra rằng hiệu năng hệ thống phải được xem xét bất cứ khi nào bạn viết một câu lệnh SQL. Sử dụng câu lệnh "ORDER BY" trên cột không được lập chỉ mục có thể mang một hệ thống đến đầu gối của nó. Sử dụng một chỉ số nhóm có thể đặt một tải không cần thiết trên CPU. Đó là thế kỷ 21 và tôi ước chúng ta không phải suy nghĩ về hiệu năng hệ thống khi lập trình trong SQL, nhưng chúng ta vẫn làm.
Với một số ngôn ngữ lập trình cũ hơn, bắt buộc phải sử dụng chỉ mục bất cứ khi nào dữ liệu được sắp xếp được truy lục. Tôi chỉ muốn yêu cầu này vẫn còn tại chỗ ngày hôm nay. Tôi chỉ có thể tự hỏi có bao nhiêu công ty đã cập nhật hệ thống máy tính chậm của họ do một câu lệnh SQL được viết kém trên dữ liệu không được lập chỉ mục.
Trong 25 năm lập trình, tôi chưa bao giờ cần dữ liệu vật lý của mình được lưu trữ theo thứ tự cụ thể, vì vậy có thể đó là lý do tại sao một số lập trình viên tránh sử dụng các chỉ mục nhóm. Thật khó để biết sự cân bằng là gì (thời gian lưu trữ, thời gian truy tìm câu) đặc biệt là nếu hệ thống bạn đang thiết kế có thể lưu trữ hàng triệu bản ghi vào một ngày nào đó.
"Một điều tôi đã nhận thấy là tất cả các khóa chính được tạo ra là KHÔNG CHỈ CHẠY chỉ mục như trái ngược với sự bền bỉ" Tại sao tôi quan sát ngược lại? –
@ vgv8 - để làm rõ, các kịch bản cơ sở dữ liệu của nó mà tôi thừa kế được thiết lập rõ ràng các khóa sẽ không được nhóm lại. – AJM
Tôi cũng vẫn không thể hiểu nó http://stackoverflow.com/questions/3970430/why-when-how-is-whole-clustered-index-scan-chosen-rather-than-full-table-scan, mặc dù tôi không thể hiểu tại sao/khi nào có chỉ số nhóm tại tất cả –