mysql - 为什么 NHibernate SchemaUpdate 在 MySQL 中比在 MS SQL Server 中慢得多

标签 mysql nhibernate

我们使用 SchemaUpdate.Execute() 在 NHibernate 应用程序中更新应用程序升级时的数据库模式结构,该应用程序在 MySQL5Dialect 和 MsSql2008Dialect 中工作。该数据库有大约 220 个表。对 MsSql 执行只需要几秒钟,但对 MySql 执行可能需要 10 分钟甚至更长时间。有多少实际模式更改似乎无关紧要 - 比较需要很长时间。

有没有其他人遇到过 SchemaUpdate.Execute() for MySql 性能低下的情况?我可以在应用程序或数据库中做些什么来优化它吗?

最佳答案

发生这种情况很可能是因为您没有使用 innodb,这意味着 ddl 更改必须复制所有数据并重建所有索引。

为什么这在 MsSql 上更快?因为它有适当的 ddl 支持。

尝试将您的表存储更改为 innodb,我相信您会惊喜不已。

关于mysql - 为什么 NHibernate SchemaUpdate 在 MySQL 中比在 MS SQL Server 中慢得多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5313841/

相关文章:

nhibernate - 从LINQtoSQL迁移到Nhibernate的论点?

nhibernate - 无法使用 nHibernate 执行存储过程

PHP MySQL 插入不起作用,我找不到任何错误

c# - Fluent nhibernate 一对一映射

asp.net-mvc - 为什么 log4net 不记录 nhibernate 信息

c# - NHibernate OutOfMemoryException 查询大字节 []

Chef 中的 MySql 服务器配方未设置指定密码

php - 如果现有行为空mysql,如何使用特定的UPDATE查询

mysql - 将 MySQL 工作台连接到 AWS RDS

php - MySQL SET 时间戳字段在 php 中显示 1 小时差异