Обзор MyISAM
Двигатель хранения MyISAM был движком по умолчанию в MySQL 3.23 до тех пор, пока он не был заменён по умолчанию на InnoDB в MariaDB и MySQL 5.5. Исторически, MyISAM является заменой для более старого движка ISAM, удалённого в MySQL 4.1.
Это лёгкий, не транзакционный движок с высокой производительностью, легко копируется между системами и имеет небольшой размер данных.
Для новых приложений рекомендуется использовать движок хранения Aria, который в большинстве случаев имеет ещё лучшую производительность и цель быть безопасным при сбоях.
Таблица MyISAM хранится в трёх файлах на диске. Есть файл определения таблицы с расширением .frm, файл данных с расширением .MYD, и файл индексов с расширением .MYI.
Возможности MyISAM
- Не поддерживает транзакции.
- Не поддерживает внешние ключи.
- Поддерживает FULLTEXT индексы.
- Поддерживает типы данных GIS.
- Предел хранилища 256 ТБ.
- Максимальное количество индексов на таблицу — 64.
- Максимальное количество столбцов в индексе — 32.
- Максимальная длина индекса — 1000 байт.
- Предел строк в таблице (232)2 (1.844E+19).
- Поддерживает большие файлы длиной до 63 бит, если это поддерживается основной системой.
- Все данные хранятся с младшим байтом в начале, поэтому все файлы по-прежнему будут работать, если их скопировать в другие системы или машины.
- Файл данных и файл индексов могут быть размещены на разных устройствах для повышения скорости.
- Поддерживает блокировку таблиц, но не блокировку строк.
- Поддерживает буфер ключей, который разбивается на сегменты в MariaDB.
- Поддерживает конкурентные вставки.
- Поддерживает фиксированные длины, динамические и сжатые форматы — см. Форматы хранения MyISAM.
- Значения числовых индексов хранятся с старшим байтом в начале, что позволяет более эффективно сжимать индексы.
- Значения данных хранятся с младшим байтом в начале, что делает его в основном независимым от машины и операционной системы. Исключением являются случаи, когда машина не использует знаковое целое число со знаком дополнения до двух, и формат чисел с плавающей запятой IEEE.
- Можно копировать между базами данных или системами с помощью стандартных системных инструментов, пока файлы не открыты ни в одной из систем. Используйте FLUSH_TABLES, чтобы убедиться, что файлы не используются.
- Существует ряд инструментов для работы с таблицами MyISAM. Они включают:
- mariadb-check для проверки или ремонта
- myisamchk для проверки или ремонта
- myisampack для сжатия
- Возможно создание таблицы MERGE на основе одной или нескольких таблиц MyISAM.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/myisam-overview/