摘要:
昨天在测试一段批量插入记录的数据库操作时,发现开启事务与否对性能影响很大,根据当时的环境,测试有6倍差距.分别测试插入500条/5000条/50000条,开启事务时分别为480毫秒/4546毫秒/47407毫秒不开事务时分别为3100毫秒/30859毫秒/308802毫秒这是什么原因呢?仔细分析一下,这个应该跟SqlServer的后台内存管理和数据存取机制相关。当我们提交数据到服务器时,SqlServer会按如下顺序进行操作:1)复制数据到内存;2)书写操作日志;3)保存数据到磁盘数据文件中。这三步操作中,1和2的效率都比较高(内存书写自不必说,日志书写是顺序书写,不需要复杂校验,故也比较快) 阅读全文