我有两台安装了 SQL Server 2008 的服务器
- 生产:SCSI 磁盘上的 RAID 1
- 测试:IDE磁盘
当我尝试执行包含大约 35.000 个插入的脚本时,在测试服务器上我需要 30 秒,而在生产服务器上则需要超过 2 分钟! 有谁知道为什么会有这样的差异?我的意思是,数据库以相同的方式配置,生产服务器也有 RAID 配置、更好的处理器和内存...
谢谢!
最佳答案
请注意,RAID 1 用于冗余,速度因场景而异。 35k 插入可能会导致大量随机写入开销,从而降低性能。
如何插入这些行,它们是否包含在 SQL 事务中?如果还没有,那么请知道事务会缓存查询并进行批量磁盘更新,从而大大提高速度。
如果是通过 SQL 脚本文件,请将插入内容包装在 BEGIN TRANSACTION/END TRANSACTION 中。这么多记录importing from file is probably better .
关于SQL Server插入速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2447203/