SqlBulkCopy效率低下原因分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlBulkCopy效率低下原因分析相关的知识,希望对你有一定的参考价值。

看到标题 应该会奇怪 SqlBulkCopy 为什么会效率低下

场景:接手项目 数据库SQLSERVER2008R2,  目前有一张流水表单表数据超过4亿,表中建有索引,有其他模块对这个表进行查询操作,无其他写入操作,每天需要有将近100W的数据批量写入

目前 用SqlBulkCopy 进行批量插入,发现奇怪的现象, 每次批量插入1W条 耗时将近6~10分钟,之前有用过SqlBulkCopy批量插入47W也就6分钟左右

原因不明

 

现在排除分表等其他优化的可能 由于业务原因 目前无法进行读写分离操作

现在考虑为何SqlBulkCopy效率会这样慢

原因点:该表数据存量过大,已经超过亿万级,而且有几组索引,索引不能删除

通过配置了 SqlBulkCopy 的colummap 效率有所提升,但是不稳定 目前单次批量插入1W 依然超过了6分钟

 

不知道其他博友 有没有遇到过类似问题,欢迎提供解决思路

 

PS:什么读写分离 分表的建议就不要提出了哈,因为业务原因 目前现状不能做这个操作

以上是关于SqlBulkCopy效率低下原因分析的主要内容,如果未能解决你的问题,请参考以下文章

zset如何解决内部链表查找效率低下

zset如何解决内部链表查找效率低下

2.Java集合-ConcurrentHashMap实现原理及源码分析

String拼接字符串效率低,你知道原因吗?

redis前传zset如何解决内部链表查找效率低下|跳表构建

redis前传笔记:zset如何解决内部链表查找效率低下|跳表构建