Почему NHibernate SchemaUpdate намного медленнее в MySQL, чем в MS SQL Server - PullRequest
2 голосов
/ 15 марта 2011

Мы используем SchemaUpdate.Execute () для обновления структуры схемы базы данных при обновлении приложений в приложении NHibernate, которое работает как в MySQL5Dialect, так и в MsSql2008Dialect.База данных насчитывает около 220 таблиц.Выполнение против MsSql занимает всего несколько секунд, но может занять 10 минут или даже больше, чтобы выполнить против MySql.Кажется, не имеет значения, сколько реальных изменений схемы - это сравнение, которое занимает так много времени.

Кто-нибудь еще испытывал низкую производительность в SchemaUpdate.Execute () для MySql?И могу ли я что-либо сделать в приложении или в базе данных для его оптимизации?

1 Ответ

1 голос
/ 15 марта 2011

Скорее всего, это происходит потому, что вы не используете innodb, что означает, что изменения ddl должны копировать все данные и перестраивать все индексы.

Почему это быстрее на MsSql? Потому что он имеет надлежащую поддержку DDL.

Попробуйте сменить магазин таблиц на innodb, я уверен, вы будете приятно удивлены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...