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.

Посилання

ред.