Chúng tôi đang tranh luận về việc có nên sử dụng tùy chọn SORT_IN_TEMPDB cho các bảng DW của chúng tôi hay không. Sự hiểu biết của tôi là có nhiều ghi hơn khi sử dụng tùy chọn này, mặc dù chúng có tính tuần tự hơn. Chúng tôi có một SAN (đôi khi đã nổi tiếng là chậm), vì vậy trong trường hợp của chúng tôi, chúng tôi muốn giới hạn số lượng viết càng nhiều càng tốt. Tôi tin rằng tempdb nằm trên một LUN (bộ đĩa) riêng biệt.
Chúng tôi có nhiều không gian đĩa trong tệp dữ liệu và trên tệp tempdb của chúng tôi. Trong trường hợp này, chúng tôi có được hưởng lợi từ việc sử dụng SORT_IN_TEMPDB không?
Một điều gây ấn tượng với tôi là nhận xét về câu trả lời này
Khi xây dựng lại một chỉ mục, bạn sẽ cần gấp đôi không gian của chỉ mục + 20% cho việc sắp xếp. Vì vậy, nói chung để xây dựng lại mọi chỉ mục trong db của bạn, bạn chỉ cần 120% chỉ mục lớn nhất trong DB của bạn. Nếu bạn sử dụng SORT_IN_TEMPDB, bạn chỉ giành được 20%, bạn vẫn cần 100% quảng cáo trong tệp dữ liệu của mình. Hơn nữa, việc sử dụng sort trong tempdb làm tăng đáng kể tải IO của bạn, vì thay vì Viết chỉ mục một lần vào tệp dữ liệu, giờ đây bạn viết nó một lần vào tempdb và sau đó ghi nó vào tệp dữ liệu. Vì vậy, đó không phải lúc nào cũng lý tưởng.
Chúng tôi chắc chắn không muốn tăng tải IO của chúng tôi với SAN chậm / có thể bị định cấu hình sai.
Điều gì sẽ là cách tốt nhất để kiểm tra điều này? Bằng cách đơn giản là xây dựng lại bảng có và không có tùy chọn và đăng nhập thời gian?
Chỉnh sửa : Chúng tôi có 8 tệp tempdb, mỗi tệp 15 GB. Chúng tôi có các cờ TF 1117/1118 được đặt và IFI được bật. Chúng tôi hiện đang thực hiện một hỗn hợp xây dựng lại với tùy chọn sort_in_tempdb và không có nó.
Cảm ơn!
Máy chủ SQL 2012