首页 新闻 会员 周边 捐助

.net EF怎么能提高数据插入数据库执行速度

0
悬赏园豆:20 [已关闭问题] 关闭于 2016-12-20 10:59

一万多条数据用EF添加数据执行比较慢请问怎么能提高执行速度 ?想用 EntityFramework.BulkInsert但这个插件是收费,各位大神有没有什么好的办法提高效率?

墨笔淡红尘的主页 墨笔淡红尘 | 初学一级 | 园豆:13
提问于:2016-12-15 13:34
< >
分享
所有回答(6)
0

http://bulk-operations.net/ 这个不收费吧


Jeffcky | 园豆:2789 (老鸟四级) | 2016-12-15 13:41

收费吧,网上说收费的,不敢用啊,怕影响项目~~

支持(0) 反对(0) 墨笔淡红尘 | 园豆:13 (初学一级) | 2016-12-15 13:43

@墨笔淡红尘: 具体没看,批量操作的话自己写一个不就得了。很难么,园中就有这样的例子


支持(0) 反对(0) Jeffcky | 园豆:2789 (老鸟四级) | 2016-12-15 13:44
0

你慢到什么程度了?

Daniel Cai | 园豆:10424 (专家六级) | 2016-12-15 13:51

好几分钟才添加完成

支持(0) 反对(0) 墨笔淡红尘 | 园豆:13 (初学一级) | 2016-12-15 13:52

@墨笔淡红尘: 如果单纯的插入的话慢到这个程度估计不是ef的锅,建议拿sql profiler追一下,看看到底哪慢了。

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2016-12-15 13:57
0

1.在现在基础上进行分批次插入,你通过观察1000和10000不是线性关系;

2.跳开ef本身的模式进行手动插入

花飘水流兮 | 园豆:13615 (专家六级) | 2016-12-15 14:13

  要拼接字符串吗

支持(0) 反对(0) 墨笔淡红尘 | 园豆:13 (初学一级) | 2016-12-15 14:24
0

多次访问数据库就写存储过程或多表查询,要不不用EF,换别的实现ORM映射,我公司用的是IBatis加Xml实现的

龙__龙 | 园豆:220 (菜鸟二级) | 2016-12-15 16:39
0

1万条数据, 要几分钟, 肯定不是EF的原因, 你说1000万条, 还说得过去。

你随便用ADO.NET随便写几万行插入数据, 都不会是这样呀.

需要检查一下代码, 检查一下你操作机器连到数据库服务器的速度

风浪 | 园豆:2996 (老鸟四级) | 2016-12-16 14:10
0

用ADO.NET的SqlBulkCopy 这个速度很快

Robin.JiangDH | 园豆:223 (菜鸟二级) | 2016-12-16 16:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册