Yếu tố điền chỉ phát huy tác dụng khi một chỉ mục được tạo hoặc xây dựng lại. Đó là lượng tiêu thụ cho chỉ mục của các trang cấp độ lá được điền trong các hoạt động này. ( xem ghi chú bên dưới để biết rõ hơn về các cấp trang bị ảnh hưởng )
Khi có một lệnh DML để dữ liệu ( INSERT
, UPDATE
và / hoặc DELETE
), nó sẽ xảy ra với các chỉ số bị ảnh hưởng tương ứng. Nói cách khác, nếu bạn có một trang được lấp đầy 20% và bạn chèn dữ liệu vào trang đó, trang đó sẽ chứa hơn 20% dữ liệu (ví dụ như 35% chỉ vì lợi ích). Thực hiện một thao tác chèn khác, bây giờ trang đã được điền 64%. Xây dựng lại chỉ mục và các trang cấp độ lá bây giờ sẽ tương đối chứa tỷ lệ phần trăm không gian mà bạn chỉ định (hoặc ngầm định giá trị mặc định cho máy chủ).
( Lưu ý , khi bạn không chỉ định PAD_INDEX
là ON
, hệ số lấp đầy chỉ được áp dụng cho các trang cấp độ lá. Nhưng khi bạn đặt PAD_INDEX = ON
, hệ số lấp đầy sẽ được tính đến cho các trang cấp trung gian của chỉ mục. Mặc định làOFF
)
Lý do để điều chỉnh hệ số lấp đầy (thay vì sử dụng 100/0 mặc định) là để bạn giảm thiểu phân tách trang khi chèn hoặc cập nhật dữ liệu. Nhưng hãy nhớ, không có gì là miễn phí. Hệ số lấp đầy càng thấp, dữ liệu không gian thường sẽ chiếm nhiều hơn. Nếu bạn giữ một không gian trang trống 80% cho các chỉ mục của mình, chúng sẽ tiêu tốn một lượng không gian đĩa tương đối lớn hơn, điều này có thể dẫn đến nhiều lượt đọc hơn.
Theo hiểu biết của tôi, khi dữ liệu được chèn vào, sẽ có khoảng 20% dữ liệu trong các trang. Tuy nhiên, khi dữ liệu được cập nhật, nó sẽ mở rộng tới hơn 20% chỉ mục, để lấp đầy nó và tạo ra sự phân chia trang, phải không?
Khi dữ liệu được chèn, nó sẽ chèn vào các chỉ mục thích hợp ở trang thích hợp. Điều này rất có thể và rất có thể sẽ khiến mức tiêu thụ trang cao hơn hệ số lấp đầy.
Việc chia trang sẽ xảy ra khi dữ liệu mới được thêm vào trang chỉ mục đầy đủ. SQL Server sau đó sẽ phân chia trang và khoảng một nửa dữ liệu từ toàn bộ trang thành một trang mới. Một lần nữa, yếu tố điền không đi vào chơi ở đây.
Một lý do chính đáng để hạ thấp hệ số lấp đầy là để giảm thiểu phân tách trang, do đó giảm thiểu phân mảnh trang chỉ mục.