Tôi có một bảng khá lớn (> 10 triệu hàng) với các thao tác crud thường xuyên. Nó có các chỉ số thích hợp, nhưng chúng bị phân mảnh nhanh chóng. Nếu không có chỉ số định kỳ sắp xếp lại / xây dựng lại kế hoạch bảo trì, sự phân mảnh chỉ số có thể dễ dàng vượt quá 90%.
Ngay bây giờ tôi đã giải quyết vấn đề này bằng cách sắp xếp lại các chỉ mục hàng ngày và xây dựng lại hàng tuần. Tôi cũng đã chơi xung quanh với các yếu tố điền vv để giữ cho sự phân mảnh thấp hơn.
Vấn đề chính của tôi là khi các chỉ mục bị phân mảnh quá mức, SQL Server sẽ bỏ qua các chỉ mục và thay vào đó thực hiện quét toàn bộ bảng. Khi điều đó xảy ra, nó gần như giết chết ứng dụng vì việc quét liên tục bảng lớn như vậy thực sự rất nặng. Tôi khá chắc chắn rằng sử dụng một chỉ số phân mảnh sẽ nhanh hơn trong những trường hợp đó.
Có cách nào để cho SQL Server sử dụng chỉ mục bất kể sự phân mảnh của nó không?