в чем разница между InnoDB и MyISAM. На какой я могу пойти? любые области, где один обеспечивает, а другой нет? Есть ли какие-либо технологические ограничения в любом из обоих типов? Пожалуйста, помогите мне выбрать подходящий тип для моего проекта?
в чем разница между InnoDB и MyISAM
Ответы (3)
Есть несколько отличий, но самые важные, о которых я могу подумать, это:
- InnoDB - это транзакционный движок, то есть он поддерживает транзакции.
- InnoDB поддерживает внешние ключи
- MyISAM блокирует только на уровне таблицы - InnoDB блокирует на уровне строки
В википедии InnoDB перечислены некоторые различия, некоторые из которых я не заметил я говорил о ;-)
И вас может заинтересовать Глава 13. Механизмы хранения раздел руководства MySQL, который, вероятно, является неплохим справочником, когда речь идет о InnoDB и MyISAM.
Особенно я бы сказал:
- 13.5. Механизм хранения MyISAM
- 13.6. Механизм хранения InnoDB
- и 13.1. Сравнение механизмов транзакций и нетранзакций
MySQL Docs предоставляет полезную информацию и случаи применения. Выбранный вами механизм хранения будет зависеть от того, для чего вы его используете.
Самая большая разница в том, что innodb поддерживает ACID-совместимые транзакции и блокировку на уровне строк.
Еще одно важное отличие: пока MyISAM поддерживает полнотекстовый поиск, а InnoDB - нет. Поэтому, если вы хотите, чтобы поисковый индекс действовал по текстовым столбцам, вам нужно использовать MyISAM или взломать.