В чем разница между InnoDB и MyISAM - PullRequest
4 голосов
/ 11 марта 2010

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

Ответы [ 3 ]

5 голосов
/ 11 марта 2010

Есть несколько отличий, но самое важное, о чем я могу подумать:

  • InnoDB - это механизм транзакций, т. Е. Он поддерживает транзакции
  • InnoDB поддерживает внешние ключи
  • MyISAM блокирует только на уровне таблицы - InnoDB блокирует на уровне строки


Запись в Википедии на InnoDB перечисляет пару различий - о некоторых из которых я не говорил; -)

И вас может заинтересовать раздел Глава 13. Двигатели хранения руководства MySQL, которое, вероятно, не является плохой ссылкой, когда речь идет о InnoDB и MyISAM.
Особенно я бы сказал:

1 голос
/ 11 марта 2010

Еще одно важное отличие: пока MyISAM поддерживает полнотекстовый поиск, а InnoDB - нет. Поэтому, если вы хотите, чтобы индекс поиска был эффективен для текстовых столбцов, вы должны использовать MyISAM или взломать.

1 голос
/ 11 марта 2010

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

Самое большое отличие состоит в том, что innodb поддерживает ACID-совместимые транзакции и блокировку на уровне строк.

...