Оптимизация размеров рабочих файлов СУБД
В процессе обработки SQL-запросов ядро СУБД использует следующие рабочие файлы:
-
SYSSRT
: файл сортировки результатов выборки данных.СУБД ЛИНТЕР выполняет сортировку данных при обработке SQL-запросов с конструкциями:
-
группировка данных (GROUP BY-спецификация);
-
сортировка данных (ORDER BY-спецификация);
-
аналитические функции (OVER-спецификация);
-
группировка значений агрегатных функций (WITHIN GROUP-спецификация);
-
SQL-запросы создания условий целостности таблицы (индексов, ключей).
При сортировке данных вначале используется выделенная по умолчанию или заданная ключом
/SPOOL
в команде запуска ядра СУБД оперативная память компьютера. Если выделенной оперативной памяти недостаточно для сортировки всего объема данных обрабатываемого SQL-запроса, то часть сортируемых данных будет размещена в файле сортировкиSYSSRT
(файл 1.51). Начальный размер файла сортировки равен 2 страницы, максимальный размер 500000 страниц. -
-
SYSWBV
: файл бит-векторов.При выполнении SQL-запросов выборки данных для хранения промежуточных результатов используется файл бит-векторов (содержит системную информацию о выбранных в SQL-запросах записях)
SYSWBV
(файл 1.31). Начальный размер файла бит-векторов равен 16 страниц, максимальный размер 500000 страниц. -
SYSWRK
: рабочий файл.При выполнении SQL-запросов выборки данных для хранения промежуточные результатов обработки SQL-запроса используется рабочий файл
SYSWRK
(файл 1.41). Начальный размер файла равен 4 страницам, максимальный размер 500000 страниц.
При создании БД устанавливаются начальный и максимальный размер указанных файлов. Если начальных размеров файлов
недостаточно, то СУБД автоматически расширяет их до необходимых для обработки SQL-запросов размеров, но не более
установленного максимального значения и делает это она порциями по EXTSIZE < размер >
страниц
(расширение выполняется на 1/32 от текущего размера файла с выравниванием до кратного 64 Кбайт, но не больше чем на
32 Мбайт), что приводит к фрагментации файлов и требует дополнительного времени на работу с такими файлами по сравнению
с файлами, которые сразу создаются в виде непрерывных файлов заданных размеров. При достижении максимального установленного
размера будет выдан соответствующий код завершения.
Управлять размерами рабочих файлов можно двумя способами:
-
ручным (пользователь на основании некоторой информации задает требуемые начальные размеры рабочих файлов при создании (конфигурировании) БД);
-
автоматическим (СУБД автоматически расширяет вспомогательные файлы до нужных для обработки SQL-запроса размеров по заданному пользователем правилу).