一万多条数据用EF添加数据执行比较慢请问怎么能提高执行速度 ?想用 EntityFramework.BulkInsert但这个插件是收费,各位大神有没有什么好的办法提高效率?
http://bulk-operations.net/ 这个不收费吧
收费吧,网上说收费的,不敢用啊,怕影响项目~~
@墨笔淡红尘: 具体没看,批量操作的话自己写一个不就得了。很难么,园中就有这样的例子
你慢到什么程度了?
好几分钟才添加完成
@墨笔淡红尘: 如果单纯的插入的话慢到这个程度估计不是ef的锅,建议拿sql profiler追一下,看看到底哪慢了。
1.在现在基础上进行分批次插入,你通过观察1000和10000不是线性关系;
2.跳开ef本身的模式进行手动插入
要拼接字符串吗
多次访问数据库就写存储过程或多表查询,要不不用EF,换别的实现ORM映射,我公司用的是IBatis加Xml实现的
1万条数据, 要几分钟, 肯定不是EF的原因, 你说1000万条, 还说得过去。
你随便用ADO.NET随便写几万行插入数据, 都不会是这样呀.
需要检查一下代码, 检查一下你操作机器连到数据库服务器的速度
用ADO.NET的SqlBulkCopy 这个速度很快