Каковы особенности работы с таблицами «в памяти»?
Чтобы начать работу с таблицами «в памяти» необходимо не забыть выполнить ряд настроек:
-
до начала работы сконфигурировать БД с помощью утилиты
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 КОД_ОШИБКИ".