我最近将我的 .NET 开发从旧的 Core2Duo 2.93 GHz PC 转移到了新的 Core i7-3820 3.6 GHz 机器上。没有对项目代码或数据库布局进行任何更改。两台机器都使用相同的 SQL Server 2012 Express 和高级服务(不是 LocalDB)。
我观察到 INSERT INTO 命令的速度显着下降:以前在旧机器上每行需要 1-2 毫秒,现在在新机器上需要 8-9 毫秒。我能找到的唯一解决方法是在一个命令中使用多行插入,这似乎将命令的开销分散到多行上。与 SQL Server 2008 R2 中一样,在 SQL Server 2012 中,一个此类命令中的行数限制为 1000:http: //msdn.microsoft.com/en-us/library/dd776382.aspx
但是,多行变通方法并非适用于所有场景;例如,逐行更新的表适配器更新需要很长时间才能完成。
有没有人遇到过这个问题?我将如何解决它?