MySQL - характеристики таблицы MEMORY (HEAP) |
Тип хранения данных MEMORY создает таблицу с данными в памяти. Данный тип таблиц также известен под названием HEAP, но это устаревший вариант и к использованию не рекомендуется.
Каждая таблица типа MEMORY ассоциируется с файлом на диске. Имя файла совпадает с названием таблицы и имеет расширение frm. Данный файл содержит информацию о формате таблицы, сама таблица с данными хранится в оперативной памяти.
Так как данные хранятся в памяти, то данный тип таблиц обладает большим быстродействием, но при этом велика вероятность потери данных связанных с возможными сбоями в работе сервера (при перезагрузке сервера все данные для таблиц с типом MEMORY пропадают). Исходя из вышесказанного данный тип таблиц идеально подходит для временного хранения данных.
Характеристики механизма хранения данных MEMORY
Тип хранения данных MEMORY позволяет создавать до 32 индексов на одну таблицу, по 16 колонок на индекс и максимальной длиной ключа в 500 байт. Для таблиц типа MEMORY возможно использовать индексы типа HASH или BTREE. Тип используемого индекса нужно указывать при его создании.
Пример: CREATE TABLE tmp_table (id INT, INDEX USING HASH (id)) ENGINE = MEMORY; или CREATE TABLE tmp_table (id INT, INDEX USING BTREE (id)) ENGINE = MEMORY; Если Вы используете HASH индекс с не уникальными значениями то это может привести к снижению скорости обновления данных. Чем больше степень не уникальности, тем сильнее проявляется этот эффект. Для того чтобы избежать этого используйте BTREE индекс.
|