Tôi vừa chạy một truy vấn T-SQL thông qua DTA và một trong những khuyến nghị là TẠO THỐNG KÊ trên một trong các cột là một phần của nhiều truy vấn trong tệp mã SQL.
Câu hỏi của tôi là, làm thế nào chính xác để hỗ trợ thống kê trong hiệu suất?
Tôi vừa chạy một truy vấn T-SQL thông qua DTA và một trong những khuyến nghị là TẠO THỐNG KÊ trên một trong các cột là một phần của nhiều truy vấn trong tệp mã SQL.
Câu hỏi của tôi là, làm thế nào chính xác để hỗ trợ thống kê trong hiệu suất?
Câu trả lời:
số liệu thống kê được sử dụng khi kế hoạch thực hiện truy vấn được tạo.
Thống kê để tối ưu hóa truy vấn là các đối tượng chứa thông tin thống kê về phân phối giá trị trong một hoặc nhiều cột của bảng hoặc dạng xem được lập chỉ mục. Trình tối ưu hóa truy vấn sử dụng các thống kê này để ước tính số lượng thẻ hoặc số lượng hàng trong kết quả truy vấn. Các ước tính cardinality này cho phép trình tối ưu hóa truy vấn tạo ra một gói truy vấn chất lượng cao. Ví dụ: trình tối ưu hóa truy vấn có thể sử dụng các ước tính cardinality để chọn toán tử tìm kiếm chỉ mục thay vì toán tử quét chỉ mục sử dụng nhiều tài nguyên hơn và làm như vậy để cải thiện hiệu năng truy vấn.
Xem http://msdn.microsoft.com/en-us/l Library / ms190397.aspx để biết thêm chi tiết.
Nếu DTA đề xuất một thống kê cột đơn, bạn phải tắt tự động tạo số liệu thống kê? Tự động tạo sẽ xây dựng số liệu thống kê trên bất kỳ cột nào được sử dụng trong một vị ngữ, do đó, nói chung nên để nó được bật. Kiểm tra trạng thái cập nhật tự động cho cơ sở dữ liệu này, thường được bật lại.
Một trong những cách sử dụng DTA tốt nhất là xác định các số liệu thống kê nhiều cột bị thiếu, tự động tạo sẽ không được xây dựng. Nhưng đối với cột đơn, tự động tạo nên chăm sóc chúng cho bạn.