Файлы данных
Страницы файла данных содержат упакованные записи таблицы.
Запись в таблице идентифицируется системным номером записи (ROWID). Место удаленной записи, а также ее системный номер повторно используются СУБД. Записи хранятся в неупорядоченном виде.
Правила упаковки данных
-
Упаковка не распространяется на BLOB-данные и внешние файлы (EXTFILE).
-
В символьных значениях усекаются последние пробелы, а при упаковке значений прочих типов данных отбрасываются последние нулевые байты. Например, целые числа со значениями от 0 до 255 будут занимать только один байт, целые числа от 256 до 32767 – 2 байта и т.д.
-
Если значение столбца нулевое (или состоит из одних пробелов), то в упакованной записи на соответствующем месте будет только первый байт или символ. Остальные байты (символы) значения в упакованной записи отсутствуют. При выборке таких значений из БД они преобразуются в первоначальный вид.
-
Для оптимизации работы ядра СУБД при вставке данных рекомендуется установить процент ожидаемого размера упакованной записи по сравнению с неупакованной (параметр
PCTFILL
, указывается при создании таблицы, по умолчанию равен 100%).
Правила размещения данных
-
При размещении данных рекомендуется установить процентный порог свободного места страниц файла данных, при котором страница будет помечена как занятая (параметр
PCTFREE
, указывается при создании таблицы, значение по умолчанию равно 0%). ПараметрPCTFREE
предназначен для предотвращения фрагментации в страницах данных. -
Для размещения в таблице вновь поступившей записи определяется (через битовую карту состояния страниц файла данных) первая страница (с учетом параметра
PCTFREE
), в которую можно разместить упакованную запись (с учетом параметраPCTFILL
), либо добавляется новая страница. -
Страница помечается, как занятая до тех пор, пока не будет иметь более чем
PCTFREE
процентов свободного пространства. Таким образом, высокий процент заполнения страниц файла данных (параметрPCTFILL
) минимизирует файловое пространство, занятое данными, ускоряя поиск данных, но замедляет добавление и модификацию данных. Низкий процент заполнения страниц файла данных приводит к неэффективному размещению данных, но может ускорить загрузку и модификацию данных.