Смешивание движков MyISAM и InnoDB для проектирования баз данных - PullRequest
4 голосов
/ 05 декабря 2011

Один из моих друзей, который является администратором баз данных, заметил, что смешивание MyISAM и InnoDB довольно распространено среди сообщества администраторов баз данных при разработке схем в MySQL.

Мой вопрос: если это правда, то насколько это хорошо?Влияет ли это на удобство обслуживания, масштабируемость и т. Д.?

Ответы [ 3 ]

7 голосов
/ 05 декабря 2011

Обычно для использования MyISAM остается очень мало веских причин.Более новые версии MySQL (5.5+) расширили InnoDB для поддержки всех функций, которые ранее были доступны только в MyISAM (таких как полнотекстовое и геопространственное индексирование), и производительность InnoDB обычно значительно лучше, чем MyISAM при правильной настройке.

Если вы не работаете с более старой версией MySQL или если у вас есть очень веская причина для этого, я бы рекомендовал просто использовать InnoDB для любого нового дизайна базы данных.

3 голосов
/ 05 декабря 2011

ИМХО, это одна из ужасных вещей в MySQL: она заставляет вас выбирать между скоростью и полнотекстовыми индексами (MyISAM) и ссылочной целостностью и транзакциями (InnoDB).Если вы можете, я настоятельно рекомендую перейти на PostgreSQL: помимо ряда других преимуществ, вы получаете скорость, полнотекстовые индексы, транзакции и ссылочную целостность в одном механизме хранения.(Я больше не использую MySQL для новых проектов.)

Если вам нужно придерживаться MySQL, я рекомендую использовать InnoDB для всех таблиц, если у вас нет особых причин не делать этого.

1 голос
/ 05 декабря 2011

На практическом замечании.

Я делал это несколько раз.В частности, в одной системе, где запросы блокировали целую таблицу как myisam, и мы преобразовали ряд критических таблиц в innodb, чтобы они блокировались на уровне строк.Это устранило некоторые узкие места в процессе, и я был в компании еще 18 месяцев после этого изменения без проблем с этим решением.Поддерживаемое приложение также довольно интенсивно использовало базу данных, поэтому любые недостатки обнаруживались довольно быстро.

...