Таблицы 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)