Выбор типа хранилища MySQL: MyISAM или Innodb

Если вы создаете БД по обстоятельствам и не уверены как база будет
использоваться, выбирайте Innodb.
Innodb следует использовать:
Когда взаимодействие с базой имеет характер OLTP (http://ru.wikipedia.org/wiki/OLTP)
Когда требуются транзакции.
Когда нужна высокая надежность хранения и быстрое восстановление после сбоя.
Innodb хорошо справляется со смешанной нагрузкой (select/update/delete/insert).

Минусы Innodb:
могут возникать deadlock, не свойственные MyISAM;
Медленнее выполняются insert операции и работа с блобами;
Не поддерживается полнотекстовый поиск;
Проблемы с производительностью COUNT(*);
Для Innodb нет поддержки mysqlhotcopy;

С MyISAM есть одна нехорошая проблема, таблица может на ровном месте отказаться
работать до выполнения REPAIR TABLE.
Случается такое крайне редко, но и этого хватает.

Пример: http://blog.lexa.ru/2008/10/05/vash_mysql___to_esche_g.html
Поэтому с для MyISAM рекомендуется организовать периодический запуск mysqlcheck через cron.

Из-за особенности организации блокировки (в MyISAM блокировка на уровне
таблицы, в Innodb — на уровне строк),
MyISAM имеет смысл использовать, когда преобладают операции insert или select,
но крайне мало delete или update.
Когда можно обойтись без транзакций.
Когда выполняются запросы, характерные для OLAP
(http://ru.wikipedia.org/wiki/OLAP)
Когда таблица используется для хранения лога (поддержка конкурирующих insert);
Когда много запросов вида Select count(*).
Когда нужно задействовать средства полнотекстового поиска.
Такие альтернативные хранилища, как PBXT, Innodb plugin, XtraDB, Maria, Falcon,
еще находятся на стадии разработки и
имеют экспериментальный характер.

Подписаться
Уведомлять о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x