DB2 Версии 9 для Linux, UNIX и Windows

Фоновая дефрагментация индекса

Фоновая дефрагментация индекса выполняется в том случае, если для параметра минимального объема занятого пространства на конечной странице индекса задано пользовательское пороговое значение. Если при удалении ключа индекса с конечной страницы порог будет превышен, то будет проверено, нельзя ли объединить эту конечную страницу с соседней конечной страницей. Если на соседней странице достаточно места для объединения двух страниц, то страницы немедленно объединяются в фоновом режиме.

Фоновая дефрагментация индекса поддерживается только для индексов, созданных в версии 6 и выше. Если эту функцию требуется активировать для существующих индексов, отбросьте и заново создайте эти индексы, указав условие MINPCTUSED. Задайте в условии MINPCTUSED значение меньше ста (100). Рекомендуется, чтобы значение MINPCTUSED было меньше 50, поскольку целью является объединение двух соседних конечных страниц. Если значение MINPCTUSED равно нулю, фоновая дефрагментация индекса не выполняется. Такое значение установлено по умолчанию.

Страницы индекса освобождаются при удалении последнего ключа индекса на странице. Исключение составляет случай, когда в операторе CREATE INDEX было задано условие MINPCTUSED. Условие MINPCTUSED задает долю памяти на конечной странице индекса (в процентах), которая должна оставаться свободной. Если после удаления ключа из индекса доля занятой памяти на странице снизится до указанного ограничения или станет меньше него, то менеджер баз данных попытается вставить оставшиеся ключи на соседнюю страницу. Если на соседней странице достаточно места, то вставка выполняется, а конечная страница индекса удаляется.

Неконечные страницы индекса не объединяются в ходе фоновой дефрагментации индекса. Однако пустые неконечные страницы удаляются и освобождаются для других индексов той же таблицы. Для освобождения таких страниц для других объектов в модели памяти DMS или для освобождения дискового пространства в модели памяти SMS необходимо выполнить полную реорганизацию таблицы или индексов. Во время такой реорганизации размер индекса сокращается до минимума. Неконечные страницы индекса не объединяются во время фоновой дефрагментации индекса, однако пустые страницы удаляются и освобождаются для повторного использования. В результате выполнения этой операции может сократиться число уровней индекса и число конечных и неконечных страниц.

В индексах типа 2 ключи удаляются со страницы во время выполнения операции удаления ключа только в том случае, если для таблицы установлена X-блокировка. Во время выполнения такой операции эффективность фоновой дефрагментации индекса будет высокой. Однако если во время удаления ключа для таблицы не установлена X-блокировка, ключ помечается как удаленный, однако физически не удаляется со страницы индекса. В результате дефрагментация не будет выполнена.

Для того чтобы дефрагментировать индексы типа 2, в которых ключи помечены как удаленные, но физически не удалены со страниц индекса, вызовите команду REORG INDEXES с опцией CLEANUP ONLY ALL. Эта опция означает, что индекс должен быть дефрагментирован независимо от значения MINPCTUSED. При выполнении REORG INDEXES с опцией CLEANUP ONLY ALL две соседние конечные страницы объединяются в том случае, если после объединения доля свободной памяти на итоговой странице будет составлять не менее PCTFREE процентов. Значение PCTFREE задается во время создания индекса. По умолчанию оно равно десяти процентам.

Понятия, связанные с данным

Тема о понятиях                     Эта тема входит в: Значок PDF Руководство по производительности

Отзыв

Последнее изменение 2006-10-27

http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/c0005495.htm