SQL Server插入速度慢

标签 sql sql-server insert performance

我有两台安装了 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/

相关文章:

c# - 管理开发团队之间的错误

Sql Select 使用 CTE 对递归数据进行排序

sql - 用户定义函数最佳实践

sql - PostgreSQL 和顺序数据

ios - 如何在结构数组中插入数字(Swift4)

javascript - Rethinkdb 追加到数组(如果存在)

c - 如何将数据添加到txt文件的新行

sql-server - 如何按值获取XML中的节点路径?

c# - 列名称或提供的值的数量与表定义不匹配。默认值?

sql-server - 通过 Azure 中的全局对等 vnet 将一个区域中的 VM 或 Web 应用程序连接到另一区域中的 SQL Server