Таблицы APPEND_ONLY
В QHB для ускорения работы с таблицами имеется возможность создавать их с особым параметром APPEND_ONLY. Этот параметр предназначен для таблиц, с которыми не производятся модификации, например журналы, данные с датчиков и т. п. В такие таблицы можно только добавлять записи, но делается это с максимальной скоростью, так как не выполняется полноценного MVCC анализа.
Для этого варианта хранилища характерны также следующие свойства:
- Отсутствует необходимость в автоочистке.
- Поддерживаются все типы индексов.
- Для удаления старых данных можно использовать партиционирование таблицы и
удалять данные партициями, либо использовать команду
TRUNCATE
. - Не поддерживается механизм TOAST.
Создание таблицы с APPEND_ONLY выполняется запросом:
CREATE TABLE имя_таблицы (...) USING APPEND_ONLY;
Также для ускорения работы с таблицей возможно создание таблицы с параметром
HOLDMEM. Для этого необходимо при создании таблицы указать параметр
UNLOGGED (нежурналируемая) и добавить WITH (HOLDMEM = ONLY)
. Запрос на
создание такой таблицы выглядит следующим образом:
CREATE UNLOGGED TABLE имя_таблицы (...) USING APPEND_ONLY WITH (HOLDMEM = ONLY)