Máy chủ SQL của chúng tôi sống trên SAN. Nó chứa hàng tá cơ sở dữ liệu OLTP, một số bảng có chứa hơn 1m bản ghi.
Chúng tôi đã chạy các kịch bản bảo trì chỉ mục của Ola Hallengren hàng tuần và nó chạy trong vài giờ mỗi lần. Dựa trên ngưỡng phân mảnh, tập lệnh sẽ sắp xếp lại hoặc giới thiệu lại một chỉ mục. Chúng tôi đã quan sát thấy rằng trong quá trình reindexing, các tệp nhật ký trở nên rất lớn dẫn đến việc tiêu thụ quá nhiều băng thông trong quá trình vận chuyển nhật ký.
Sau đó, xuất hiện một bài viết từ Brent Ozar, trong đó ông nói hãy ngừng lo lắng về các chỉ mục SQL :
Ổ đĩa cứng của bạn được chia sẻ với các máy chủ khác cũng đang thực hiện các yêu cầu ổ đĩa cùng một lúc, vì vậy các ổ đĩa sẽ luôn luôn nhảy khắp nơi để lấy dữ liệu. Chống phân mảnh chỉ số của bạn chỉ là công việc bận rộn vô nghĩa.
Googling câu hỏi này dẫn đến các ý kiến khác nhau, hầu hết được hỗ trợ với các đối số có vẻ quá ngắn hoặc yếu. Kế hoạch dự kiến của chúng tôi là điều chỉnh ngưỡng phân mảnh trong tập lệnh bảo trì của chúng tôi để nó được tổ chức lại thường xuyên hơn nhiều so với việc giới thiệu lại.
Phán quyết cuối cùng là gì? Có đáng để chống phân mảnh các chỉ mục SQL trên SAN khi xem xét các gánh nặng liên quan đến việc chạy các công việc bảo trì hàng tuần không?