Tôi có một Chỉ mục bị khóa cấp độ trang bị vô hiệu hóa và bây giờ tôi có vấn đề phân mảnh chỉ mục cho chỉ mục đó.
Tôi đã nhận thức được rằng tôi sẽ không thể Reorganize
lập chỉ mục, nhưng tôi tin rằng tôi sẽ có thể rebuild
lập chỉ mục.
Bây giờ tôi nghĩ xây dựng lại cũng không hiệu quả. Tôi đang sử dụng hệ số lấp đầy mặc định là 100. Cơ sở dữ liệu của tôi rất lớn vì vậy tôi không muốn kích thước bảng / db được tăng lên bằng cách đưa ra hệ số lấp đầy từ 80% trở xuống. Bằng cách không hoạt động, tôi có nghĩa là Phân mảnh trung bình vẫn giữ nguyên sau khi chạy tập lệnh của Ola vào đêm hôm trước.
Một chút nền tảng về lý do tại sao khóa cấp độ trang bị vô hiệu hóa.
Tôi đã nhận được rất nhiều giao dịch deadlocks
về chỉ số này trong bảng cụ thể đó. Chiếc bàn này là một loại bàn thực tế insert, update and delete
đang diễn ra mọi lúc. Và có một số foreign key
mối quan hệ với một vài bảng khác với CASCADE deletes
. Vì vậy, tôi đã nhận được rất nhiều khóa / khóa chết và sau khi vô hiệu hóa khóa cấp độ trang, tôi đã có thể thoát khỏi tất cả những bế tắc đó.
Tôi bắt đầu sử dụng tập lệnh của Ola Hallengren cho Index maintenance
và tôi đã áp dụng Index Rebuild cho tất cả các chỉ mục mà Index sắp xếp lại không hoạt động. Nhưng tôi nhận thấy rằng Index Rebuild cũng không hoạt động.
Bây giờ, tôi thấy AveragePageFragmentaiton là 95,9413 và số trang là 1196826 cho chỉ mục, điều này không tốt.
Thông tin bổ sung:
Tôi đang sử dụng kịch bản của Ola Hall như hình bên dưới.
EXECUTE dbo.IndexOptimize
@Databases = 'DB_NAME',
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE',
@FragmentationHigh = ''INDEX_REORGANIZE,INDEX_REBUILD_ONLINE'',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30,
@SortInTempdb = 'Y',
@MaxDOP = 0,
@WaitAtLowPriorityMaxDuration = 0,
@WaitAtLowPriorityAbortAfterWait= 'NONE',
@Indexes = 'DB_NAME.[dbo].TB1,DB_NAME.[dbo].TB2'
Câu hỏi của tôi là làm thế nào để giảm sự phân mảnh trong một chỉ mục nếu khóa cấp độ trang bị vô hiệu hóa cho chỉ mục đó?
varbinary(max)
cột là LOB, nhưng nó không phải là một phần của chỉ mục.