Thuật toán tự động cập nhật thuật toán:
Vì vậy, số liệu thống kê Cập nhật tự động sẽ kích hoạt cho mỗi thay đổi 500 + 20% trong các hàng của bảng. Tất nhiên, chúng tôi có một thuật toán cải tiến trong SQL 2012, đó là SQRT (1000 * Bảng hàng) tốt hơn nhiều.
Khi nó kích hoạt, nó sẽ sử dụng tốc độ lấy mẫu mặc định và đây là thuật toán tính toán tốc độ lấy mẫu.
1) Nếu bảng <8 MB thì nó cập nhật số liệu thống kê với toàn màn hình.
2) Nếu bảng> 8MB, nó tuân theo thuật toán. Nó làm giảm tốc độ lấy mẫu khi số lượng hàng trong bảng được tăng lên để đảm bảo chúng tôi không quét quá nhiều dữ liệu. Đây không phải là một giá trị cố định nhưng nằm dưới sự kiểm soát của trình tối ưu hóa. Nó cũng không phải là một thuật toán tuyến tính.
Ví dụ: nếu chúng tôi có 1.000.000 hàng, nó sẽ sử dụng tỷ lệ lấy mẫu là 30% nhưng khi số lượng hàng tăng lên 8.000.000 thì sẽ giảm tỷ lệ lấy mẫu xuống 10%. Các tỷ lệ lấy mẫu này không nằm dưới sự kiểm soát của DBA nhưng trình tối ưu hóa quyết định nó.