SQL Server - Các trang dữ liệu được lưu trữ như thế nào khi sử dụng một chỉ mục được nhóm


13

Gần đây tôi nghe nói rằng các trang dữ liệu trong một chỉ mục được nhóm không được lưu trữ liên tục. Điều này có đúng không?

Có lẽ các trang dữ liệu thường được lưu trữ liên tục với một số ngoại lệ cho quy tắc? Hoặc có lẽ tôi nghe nhầm và trang dữ liệu luôn được lưu trữ liên tục.

Cảm ơn nhiều.


1
Books Online đã đưa ra các sơ đồ khá tốt cho thấy cách các trang được lưu trữ vật lý và cách đặt cây B.
mrdenny

Câu trả lời:


11

Các trang dữ liệu được lưu trữ liên tục khi chỉ mục được tạo và khi chỉ mục được xây dựng lại. Nếu không, SQL Server sẽ cố gắng giữ các trang theo thứ tự vật lý. Điều đó là không thể, trật tự logic là cố gắng. Bạn có thể nhận được các khoảng trống trong một bảng vì các ghi khác đang xảy ra trong cơ sở dữ liệu. SQL Server sử dụng cây B + cho các chỉ mục - cấp độ lá (dữ liệu) của chỉ mục chứa dữ liệu nhưng cũng là một danh sách liên kết đôi có chứa con trỏ đến các trang tiếp theo và trước đó. Điều này làm cho bảng ít quan trọng hơn về mặt vật lý.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.