Làm thế nào một hệ số điền 0 hoặc 100 có thể giống nhau?


8

Theo hiểu biết của tôi, hệ số Fill của 80 ngụ ý rằng 20 phần trăm của mỗi trang cấp độ lá sẽ trống để cho phép tăng trưởng trong tương lai. Tôi không thể tương quan làm thế nào hệ số điền 0 và 100 có thể giống nhau! Tui bỏ lỡ điều gì vậy?

Câu trả lời:


15

Đó là di sản từ SQL Server 2000

0 và 100 đã khác trước

  • 100 có nghĩa là "điền vào tất cả các trang bao gồm tất cả các cấp chỉ số b-cây"
  • 0 có nghĩa là "để lại một khoảng trống ở mức cao hơn trong chỉ mục b-cây"

Kể từ SQL Server 2005, cả hai đều có nghĩa là "lấp đầy tất cả các trang bao gồm tất cả các cấp chỉ mục b-cây"

Trích dẫn từ BOL (My bold)

Máy chủ SQL 2000 :

Giá trị hệ số điền là 0 không có nghĩa là các trang đã đầy 0 phần trăm. Nó được xử lý tương tự với giá trị hệ số lấp đầy là 100 trong SQL Server tạo ra các chỉ mục được nhóm với các trang dữ liệu đầy đủ và các chỉ mục không được bao gồm với các trang lá đầy đủ. Nó khác với 100 trong SQL Server để lại một khoảng trống trong mức cao hơn của cây chỉ mục.

Máy chủ SQL 2005

Hệ số lấp đầy bằng 0 hoặc 100 tạo ra các chỉ mục được nhóm với các trang dữ liệu đầy đủ và các chỉ mục không được bao gồm với các trang lá đầy đủ, nhưng nó để lại một khoảng trống trong cấp trên của cây chỉ mục. Điền các giá trị hệ số 0 và 100 là giống hệt nhau về mọi phương diện.

Những gì tôi không thể tìm thấy là một cái gì đó thể hiện rõ điều này trong "thay đổi hành vi"


tìm kiếm gần đây của tôi cho thấy rằng "Hệ số lấp đầy MYTH của 0 và 100 không bao giờ giống nhau" ...
Subha

@Subha bạn có thể chia sẻ một liên kết?
Aaron Bertrand

@Subha: Ý bạn là sao? sqlskills.com/bloss/paul/ từ
gbn


@gbn: yup đó là ...
Subha
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.