Огляд фрагментації індексу
Що таке фрагментація індексу і чому на ній варто зосередитися: Фрагментація виникає, коли логічний порядок в індексі (на основі значення ключа в індексі) не відповідає фізичному порядку на сторінках індексу на сторінках індексу в сторінках, які містить індекс. Щоразу, коли виконується операція вставки, оновлення або видалення базових даних, рушій бази даних автоматично змінює індекс. Наприклад, додавання рядків до таблиці може призвести до того, що розділені рядки зберігають існуючі сторінки в індексі, щоб звільнити місце для вставки нових ключів. З часом ці зміни можуть призвести до розсіювання інформації в індексі в базі даних (що містить фрагменти). Фрагментація виникає, коли логічний порядок (на основі значення ключа) на сторінках, які містить індекс, не відповідає фізичному порядку у файлі даних. Велика кількість фрагментованих індексів може уповільнювати продуктивність запитів, оскільки для пошуку даних, на які вказує індекс, потрібен додатковий ввод/вивод. Більше вводу/виводу може призвести до повільної реакції додатка, особливо при скануванні.
Перевірте фрагментацію індексу бази даних
Команда:
Існує два способи дефрагментації: реорганізувати та відтворити індекси, перебудова індексів означає видалення старих індексів і відновлення нових індексів у транзакції, що повертає простір на жорсткому диску оригінального індексу і виділяє новий простір для створення структури індексу. Реорганізація індексів означає відсутність виділення нового простору для зберігання, реорганізацію листових вузлів структури індексу на основі початкового простору, щоб логічний порядок і фізичний порядок сторінок даних були узгодженими, а також звільнення зайвого простору в індексі.
Використовуйте функцію sys.dm_db_index_physical_stats для визначення ступеня фрагментації, поля avg_fragmentation_in_percent відсотка повернених логічних фрагментів, загалом Microsoft рекомендує поріг у 30%:
avg_fragmentation_in_percent >5% і <=30%: РЕОРГАНІЗАЦІЯ ІНДЕКСУ ЗМІН; avg_fragmentation_in_percent >30%: ЗМІНИТИ ІНДЕКС ПЕРЕБУДОВУ;
avg_fragmentation_in_percent: Відсоток фрагментації індексу, якщо фрагментація менша за 10%~20%, фрагментація навряд чи стане проблемою,Якщо фрагментація індексу становить 20%~40%, фрагментація може бути проблемою, але роздільна здатність індексу може бути усунена шляхом реорганізації індексу, а масштабна фрагментація (коли фрагментація перевищує 40%) може вимагати реконструкції індексу.
Запит до фрагментаційної інформації для всіх індексів заданої таблиці
Переіндексування таблиць
Перебудуйте індекс усіх таблиць у всій базі даних
Ресурси:Вхід за гіперпосиланням видно.
|