Tại sao hệ số điền vào SQL Server mặc định là 0 (100%)?


9

Tôi hiểu yếu tố điền, trang và cấu trúc chỉ mục và tôi hiểu tại sao hệ số lấp đầy 100% là cách thực hành tốt nhất hiếm có. Vậy tại sao nó mặc định là 0 (hoặc 100%) theo mặc định? Tại sao không phải là 90 hay 95?

Có thiếu điều gì không?

Câu trả lời:


8

Chỉ cần đưa ra một vài gợi ý ở đây là tại sao Microsoft sẽ làm điều này:

  1. Họ đã hướng đến mặc định của mình để có hiệu suất OLAP tốt nhất có thể (số lần đọc trang ít hơn với hệ số lấp đầy là 0/100)
  2. Họ đang giả định rằng INSERTdữ liệu ed rất có thể sẽ ở cuối bảng, làm cho không gian thêm trên mỗi trang trở nên vô dụng
  3. Họ giả định rằng thông thường UPDATEd dữ liệu sẽ không kéo dài dữ liệu hàng thường xuyên, gây ra sự phân chia trang

Đây chỉ là đoán ở đây. Những người duy nhất thực sự có thể trả lời chính xác câu hỏi đó là nhóm SQL Server.


5
Đúng vậy, đây có vẻ là những lý thuyết hợp lý và rất có thể phù hợp với khách hàng điển hình hơn là chọn một số yếu tố điền tùy ý, trong nhiều trường hợp, bạn được đảm bảo lãng phí không gian vĩnh viễn trên một trang.
Aaron Bertrand

Tôi không thể tin rằng tôi đã có một câu trả lời mà tôi có thể đồng ý. Tôi không mong đợi có một câu trả lời hợp lý nhưng điểm số 2 và # 3 của bạn rất hợp lý. Cảm ơn!
NTDLS

@NTDLS không có vấn đề gì, rất vui được giúp đỡ.
Thomas Stringer
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.