Разработчик(и) | Oracle и MariaDB |
---|---|
Операционная система | Кроссплатформенный |
Тип | Движок базы данных |
Лицензия | Стандартная общественная лицензия GNU |
MEMORY — это механизм хранения для реляционных систем управления базами данных MySQL и MariaDB , разработанный Oracle и MariaDB. До версии 4.1 MySQL он назывался Heap.
Команда SHOW ENGINES
описывает ПАМЯТЬ как: основанную на хэше, хранящуюся в памяти, пригодную для временных таблиц .
MEMORY записывает данные таблиц в память. Хотя структуры таблиц сохраняются на диске, строки в таблицах MEMORY теряются при остановке MySQL.
ПАМЯТЬ предназначена для хранения данных, к которым требуется быстрый доступ, например, кэшей или промежуточных данных, которые необходимо преобразовать перед сохранением в обычных таблицах.
В MariaDB и до MySQL 5.6 MEMORY использовалась для внутренних временных таблиц, например, для материализации промежуточных результатов запроса. Однако таблицы MEMORY не поддерживают типы BLOB и TEXT, и пользователь может ограничить общий размер таблиц MEMORY и временных таблиц. Когда внутренняя временная таблица не могла быть создана с помощью движка MEMORY, ее приходилось создавать на диске, что медленнее. По этой причине Percona Server реализовал улучшения MEMORY для поддержки BLOB и TEXT.
В MySQL 8.0 по умолчанию вместо MEMORY для внутренних временных таблиц используется движок TempTable.