MyISAM є одним з механізмів зберігання даних, наявних в MySQL. Побудований на основі старого коду ISAM, але має багато розширень. До версії 5.5.4 був механізм зберігання MySQL за замовчуванням, який був замінений на InnoDB.

MyISAM
Тип Рушій баз даних
Розробник Oracle Corporation
Операційна система Крос-платформова
Мова програмування C
Ліцензія GNU General Public License
Вебсайт mysql.com

MyISAM таблиці зберігаються на диску в трьох файлах в каталозі з іменем, що відповідає імені бази даних. Файли названі згідно з ім'ям таблиці в базі даних. Розширення файлів означають:

  • .FRM — визначення таблиці
  • .MYD (MyData) — Файл даних
  • .MYI (MyIndex) — Індекси таблиці.

Основні недоліки MyISAM:

  • брак транзакційності
  • брак зв'язків між таблицями
  • присутня імовірність отримання пошкоджених таблиць за умов: mysqld процес був вимкнений на середині запису, неочікуване вимкнення комп'ютера, збої пристроїв сервера, використання зовнішньої програми (наприклад myisamchk) для редагування таблиці водночас із редагуванням зі сторони сервера, помилка програмного забезпечення в MySQL або MyISAM коді.[1]
  • блокування на рівні таблиць, і відсутність підтримки стандартів MVCC та ACID.

MyISAM, однак, був єдиним механізмом в MySQL, що дозволяв повнотекстовий пошук та індексацію, поки ця функція не була додана в InnoDB.


Джерела ред.

  1. MySQL :: MySQL 5.7 Reference Manual :: 15.2.4.1 Corrupted MyISAM Tables. dev.mysql.com (англ.). Архів оригіналу за 18 липня 2017. Процитовано 3 січня 2018.

Посилання ред.