2011-07-30 4 views
0

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

+4

Этот вопрос практически невозможно ответить иначе, чем с «это зависит от того, что вам нужно». Если вам нужны транзакции ACID, используйте InnoDB, если вы не слишком заботитесь о идеальной целостности, но хотите сырой скорости, используйте InnoDB. – Damon

+0

Последний должен MyISAM. – duffymo

+0

Могу я предположить, что вам, вероятно, не нужна сырая скорость. Если вы это сделаете, вы можете пойти на уступки, когда вам это нужно, но InnoDB гораздо чище работать. – Clueless

ответ

3

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

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

0

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

В этой статье есть сравнение InnoDB против MyISAM: http://www.mysqlperformanceblog.com/2009/01/12/should-you-move-from-myisam-to-innodb/

см также следующей StackOverflow должности: MyISAM versus InnoDB

1

InnoDB является более современным механизмом хранения данных и считается более надежным (поддерживающим такие вещи, как атомарные транзакции и ограничения внешнего ключа).

Однако MyISAM может быть более функциональным и поддерживает полнотекстовый поиск.

Если вам не нужна FTS, я бы порекомендовал InnoDB.

Некоторые дополнительные чтение: http://blog.inetu.net/2009/04/mysql-innodb-or-myisam/

Смежные вопросы