andreiru
Сен. 23, 2013 15:09:36
Что выбрать MyISAM или InnoDB для проекта на Django ?
Lexander
Сен. 23, 2013 15:32:54
Если не можете сами разобраться с рекомендациями из документации MySQL (там спец раздел есть), то дайте больше сведений об организации данных и работе вашего сайта.
andreiru
Сен. 23, 2013 15:43:32
Lexander, в основном у меня будет выборка данных, join часто будет использоваться !
Lexander
Сен. 23, 2013 15:51:41
Если это единственные требования, то все равно.
Но я очень в этом сомневаюсь, что это единственные требования.
Вы доку таки почитайте. ;)
lorien
Сен. 23, 2013 16:01:06
innodb, забудьте про myisam
VadimK
Сен. 28, 2013 14:06:27
В плане выборки myisam будет быстрее.
Saturn
Сен. 29, 2013 15:13:21
Если проект простенький, тогда можно и посмотреть в сторону SQLite.
Тогда в плане скорости на “выборку данных” будет намного быстрее чем в MySQL.
А если выбирать из MySQL , тогда inniDB -> там возможностей намного больше (транзакции, внешние ключи…).
daniel
Сен. 29, 2013 23:20:35
Доброго времени суток!
InnoDB, если Вам нужна поддержка транзакций (транзакции - это отличный способ избавиться от ненужных локов (lock). К примеру, Вы можете делать update без блокировки таблицы. Такие операции бывают очень продолжительными при больших объёмах данных.)
Myisam - это не плохо. Не верьте тому, кто утверждает, что это плохо. К примеру, никакой engine, использующий дисковую подсистему не будет работать быстрее на вставку данных (insert), чем myisam. Так же myisam поддерживает режим восстановления (repair), чего нет у innodb. Myisam проявляет себя быстрее не только на insert, но и на выборках (select). Так же нельзя отметить встроенную поддержку полнотекстового поиска (хотя лучше использовать внешние решения: solr, sphinx, и т.д.) и, что не так важно сегодня - меньшее потребление дискового пространства, в отличии от InnoDB.
Если Ваш проект не нуждается не в скорости, ни в экономии дискового пространства, ни в нативном полнотекстовом поиске, то я бы посоветовал Вам использовать InnoDB, как простое решение, отлично работающее с Django. Ещё одним плюсом InnoDB можно назвать то, что в виду наличия транзакций Вы всегда сможете делать бекапы своей базы без локов таблиц, а значит - не мешая работе проекта. Просто используйте ключ –single-transaction у mysqldump.
Надеюсь, что помог Вам осуществить выбор, желаю Вашему проекту скорости и стабильности в работе с БД.
Спасибо!
lorien
Сен. 30, 2013 20:08:21
У меня логика простая. Человек не написал требований к проекту. Значит он нуб. Раз нуб, пускай юзает innodb и набивает шишки об целостность данных и транзакции. Не нужен ему MyISAM.
daniel
Сен. 30, 2013 22:39:08
А я бы посоветовал новичку myisam, чтобы оценить преимущество транзакций и бинлога

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