Каковы особенности работы с таблицами «в памяти»?
Чтобы начать работу с таблицами «в памяти» необходимо не забыть выполнить ряд настроек:
-
до начала работы сконфигурировать БД с помощью утилиты
gendb
(до запуска ядра на БД):-
задать размер очереди для таблиц «в памяти» (команда вида
SET IN-MEMORY TABLES 50;
); -
задать количество столбцов у таблиц «в памяти» (команда вида
SET IN-MEMORY COLUMNS 250;
); -
задать количество файлов (команда вида
SET IN-MEMORY FILES 50;
);
-
-
запуск ядра производить с ключом
/INMEMPOOL
(ключ вида/INMEMPOOL=100000
, где значение задается в страницах по 4 Кбайт).
Для того, чтобы сохранить на диск внесенные в таблицу данные, необходимо выполнить команду SAVE TABLE < имя_таблицы >;
, а для восстановления сохраненной ранее таблицы необходимо выполнить RESTORE TABLE < имя_таблицы >;
.
Для автоматической загрузки и сохранения данных таблиц «в памяти» можно воспользоваться опциями AUTOLOAD
и AUTOSAVE
для таблиц «в памяти». Подробнее можно прочитать в документе «Справочник по SQL»,
подраздел Таблицы «в памяти».
Операции над таблицами «в памяти» не включаются в транзакции, на них не действуют операции COMMIT
и ROLLBACK
. При ошибке операции над таблицей «в памяти» может быть выполнено автоматическое восстановление к старому состоянию, при этом на консоль ядра и в linter.out
выдается сообщение "In-memory table ИМЯ_ТАБЛИЦЫ was rolled back to last saved/initial state after error КОД_ОШИБКИ".