MySQL поддерживает два различных типа таблиц: транзакционные (InnoDB и BDB) и без поддержки транзакций (HEAP, ISAM, MERGE и MyISAM).
Преимущества транзакционных таблиц (Transaction-safe tables, TST):
~ Надежность.
~ Лучше обеспечивает параллелизм при одновременных обновлениях таблицы и чтении.
Преимущества нетранзакционных таблиц (non-transaction-safe tables, NTST):
~ Работать с ними намного быстрее, так как не выполняются дополнительные транзакции.
~ Для них требуется меньше дискового пространства
~ Для обновлений используется меньше памяти.
Таблицы MyISAMприняты по умолчанию в MySQL. Он основывается на коде ISAM (устаревший тип таблиц) и обладает в сравнении с ним большим количеством полезных дополнений.
Таблицы MERGE (или таблица MRG_MyISAM) представляет собой совокупность идентичных таблиц MyISAM, которые могут использоваться как одна таблица.
Таблицы HEAPДля HEAP-таблиц используются хэш-индексы; эти таблицы хранятся в памяти. Благодаря этому обработка их осуществляется очень быстро, очень хорошо подходит для временных таблиц!
Таблицы InnoDB и BDB или BerkeleyDBснабжены обработчиком таблиц, обеспечивающим безопасные транзакции (уровня ACID) с возможностями фиксации транзакции, отката и восстановления после сбоя. Чтобы использовать InnoDB, необходимо указать параметры запуска InnoDB в своем файле my.cnf или my.ini. Самый простой способ внести изменения - добавить в раздел [mysqld] строку innodb _data_file_path=ibdata:30M