Для каких сайтов лучше всего использовать InnoDB?

Последняя версия WordPress использует движок InnoDB и кодировку utf8mb4_unicode_520_ci.

Поэтому возникло несколько вопросов:
  1. InnoDB реально лучше MyISAM?
  2. InnoDB более требовательна к ресурсам?


Читал, что MyISAM изобрели в 1995 году и он устарел (больше не поддерживается). Я перешел на Percona Server 8.0.16-7, и кажись поддержка MyISAM в нём ограничена.

У меня оптовый интернет магазин, без возможности комментирования. Следовательно производится больше чтений, чем записи в БД. По логике, мне подходит MyISAM?

Еще один нюанс, который я заметил: после конвертации MyISAM в InnoDB размер базы данных вырос из 108 до 800 МБ. В MyISAM была возможность оптимизации, которая очень уменьшала размер таблиц. В InnoDB, кажись, такого нет.

Собственно, вопрос жизни и смерти: всегда использовать InnoDB и не париться?
  • Вопрос задан
  • 925 просмотров
Решения вопроса 1
maxxannik
@maxxannik
Сайты на WordPress + Интернет магазины WooCommerce
По умолчанию InnoDB.
Когда будет сайт на 100 Гб БД, тогда есть смысл выбирать движки.
Но таких сайтов на весь мир 3-4 штуки. Дорасти до такого шансов мало.
Дорастете - у вас будет уже 10-20 своих программистов, которые решат этот вопрос на раз два.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
InnoDB реально лучше MyISAM?

некорректное сравнение. нет критерия.
InnoDB более требовательна к ресурсам?

да

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

если тюнинг под высокие нагрузки (там где М порядки, а не К) не планируется и усложнять разработку для обхода ограничений тех или иных движков не хочется или не можется, то выбирайте InnoDB.
Ответ написан
@SergeyYii
Как раз для вас составил сводную таблицу в свое время:
https://blog-kopilka.ru/blog/otlichie-myisam-ot-innodb

У меня оптовый интернет магазин, без возможности комментирования. Следовательно производится больше чтений, чем записи в БД. По логике, мне подходит MyISAM?


Это совсем не аргумент. Вы же не чат пишете. У нас в проекте есть сборщик аналитики переходов, там данные пишутся примерно раз в 2-3 секунды и InnoDB отлично справляется.

Еще один нюанс, который я заметил: после конвертации MyISAM в InnoDB размер базы данных вырос из 108 до 800 МБ.


Попробуйте Postgres - результат вам очень сильно удивит... ;)
Ответ написан
@freehostua
Работаю в FREEhost.UA
InnoDB является движком по умолчанию в MySQL последних версий, а MyISAM остался только для совместимости. Поэтому лучше использовать InnoDB.

Важный момент про InnoDB - его ни в коем случае нельзя бекапить копируя структуру базы, как это многие делают в MyISAM. InnoDB бекапится только через дамп базы данных mysqldump. Поскольку по ресурсам это затратней и во время бекапа база может тормозить, для крупных проектов стоит сразу поднять slave и делать резервную копию с него.
Ответ написан
Captain
@Captain
Делаем сложный функционал под Joomla и не только
Внешние ключи, транзакции. Если это не нужно, то можно и без InnoDB обходиться.
А так все зависит от нагрузки и т.п.
Ответ написан
@MR27
Для всех. Он надежнее. Можно просто использовать и не думать ни о чем.
Но MyISAM быстрее. С кучей ограничений, которые нужно понимать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы