MyISAM

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

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

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 (en). Процитовано 2018-01-03. 

Посилання[ред. | ред. код]