Параметр
pctfree
(устанавливается в процентах) используется для резервирования определенного процента пространства в каждом блоке для грядущих операций обновления, которые увеличивают длину значений одного или нескольких столбцов. Очень важно соответствующим образом конфигурировать этот параметр для таблиц интенсивным обновлением, так как он управляет количеством и частотой миграции строк и образования сцепленных строк, влияющих на производительность для таблицы. Дело в том, что и миграция строк, и образование цепочек приводят к выполнению для получения данных лишних операций ввода/вывода.В документации по Oracle имеются формулы вычисления
pctfree, paused
и других параметров хранения уровня блока. Но основная цель заключается в резервировании адекватного пространства на основании природы манипуляции данными в важных таблицах приложения. Если длина строк таблицы потенциально может увеличиваться на 25%. можно рассмотреть вариант установкиpctfree
равным 25. С другой стороны, установкаpctfree глобально для
всех таблиц приведет к потере дискового пространства и вынудит приложение выполнять лишние операции ввода/вывода. Это произойдет потому, что не всем таблицамнужно резервировать по 25% выделенной им памяти для будущих расширений.
Значение по умолчанию
pctfree
составляет 10%, а для всех таблиц, которым требуется больший процент (на основе модели записи приложения), необходимосконфигурировать более высокое значение. Но в то же время нужно уменьшать значение
pctfree
по умолчанию таблицам, для которых не выявлено каких-либо обновлений, увеличивающих длину строк. На практике требуется определить размер фрагментации в объектах базы данных, а затем провести требующиеся корректировки.< Предыдущая | Следующая > |
---|