Tôi đã tìm thấy nhiều thông tin về những gì STATISTICS
: cách chúng được duy trì, cách chúng có thể được tạo thủ công hoặc tự động từ các truy vấn hoặc chỉ mục, v.v. Nhưng, tôi không thể tìm thấy bất kỳ hướng dẫn hoặc thông tin "thực tiễn tốt nhất" nào về thời điểmđể tạo chúng: những tình huống nào có lợi nhiều hơn từ một đối tượng THỐNG KÊ được tạo thủ công hơn là từ một Chỉ mục. Tôi đã thấy các số liệu thống kê được lọc được tạo thủ công giúp truy vấn trên các bảng được phân đoạn (vì số liệu thống kê được tạo cho các chỉ mục bao trùm toàn bộ bảng và không phải trên mỗi phân vùng - brillaint!), Nhưng chắc chắn phải có các kịch bản khác có lợi từ một đối tượng thống kê trong khi không cần chi tiết của một chỉ mục, cũng không đáng giá cho việc duy trì chỉ mục hoặc tăng cơ hội chặn / khóa chết.
@JonathanFite, trong một bình luận, đã đề cập đến sự khác biệt giữa các chỉ mục và thống kê:
Các chỉ mục sẽ giúp SQL tìm dữ liệu nhanh hơn bằng cách tạo các tra cứu được sắp xếp khác với chính bảng. Thống kê giúp SQL xác định lượng bộ nhớ / nỗ lực sẽ được yêu cầu để đáp ứng truy vấn.
Đó là thông tin tuyệt vời, chủ yếu là vì nó giúp tôi làm rõ câu hỏi của mình:
Làm thế nào để biết điều này (hoặc bất kỳ thông tin kỹ thuật khác trên những gì s và cách s liên quan đến hành vi và bản chất của STATISTICS
) giúp xác định khi lựa chọn CREATE STATISTICS
hơn CREATE INDEX
, đặc biệt là khi tạo một Index sẽ tạo ra liên quan STATISTICS
đối tượng? Kịch bản nào sẽ được phục vụ tốt hơn khi chỉ có thông tin THỐNG KÊ và không có Chỉ mục?
Sẽ là siêu lừa đảo hữu ích, nếu có thể, để có một ví dụ hoạt động của một kịch bản trong đó STATISTICS
đối tượng phù hợp hơn so với INDEX
.
Vì tôi là người học / suy nghĩ trực quan, tôi nghĩ rằng có thể giúp thấy được sự khác biệt giữa STATISTICS
và INDEX
es, cạnh nhau, như một phương tiện có thể giúp xác định khi nào STATISTICS
là lựa chọn tốt hơn.
Thingy PROs CONs
------- ---------- -------------------
INDEX * Can help sorts. * Takes up space.
* Contains data (can * Needs to be maintained (extra I/O).
"cover" a query). * More chances for blocking / dead-locks.
STATISTICS * Takes up very little space. * Cannot help sorts.
* Lighter maintenance / won't * Cannot "cover" queries.
slow down DML operations.
* Does not increase chances
of blocking / dead-locks.
Sau đây là một số tài nguyên mà tôi tìm thấy trong khi tìm kiếm cái này, một tài nguyên thậm chí hỏi cùng câu hỏi này, nhưng nó không được trả lời:
Chỉ số máy chủ SQL so với thống kê
Câu hỏi thống kê về máy chủ SQL Chúng tôi quá ngại hỏi
Số liệu thống kê. Là biểu đồ nhiều màu có thể?
** Để rõ ràng, tôi không có câu trả lời cho điều này và thực sự đang tìm cách nhận phản hồi từ hy vọng một số người cung cấp những thông tin dường như bị thiếu một cách kỳ lạ ở đây trong các interwebs.