架构师_程序员_码农网

用户名  找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 31556|回复: 2

[资料] EF 实现大批量数据库插入更新删除操作

[复制链接]
发表于 2018-4-10 17:11:30 | 显示全部楼层 |阅读模式
我们都知道ef对于批量操作支持很差,如果你用ef批量插入多条数据或者批量更新、删除多条语句,都很浪费时间,所以,怎么优化ef操作大量数据呢?

不废话了,先上截图,没有优化之前和优化之后的对比图!

QQ截图20180410164848.jpg QQ截图20180410170035.jpg

在插入相同的3814条数据,数据库为sql server的情况下的统计

优化前:平均耗时2479秒
优化后:平均耗时149秒

调用的插入代码如下:

QQ截图20180410170424.jpg

优化之前的代码:



优化之后的代码:

其他测试代码:




优化方案:

我们用了一个第三方的扩展“Z.EntityFramework.Extensions”,官方主页:http://entityframework-extensions.net/

介绍:

实体框架:批量插入,BulkSaveChanges,批量更新,批量删除,批量合并和批量同步。

支持:SQL Server,SQL Azure,SQL Compact,Oracle,MySQL,SQLite和PostgreSQL。

这个库不是免费的。 试用期总是在月底停止。


nuget安装命令:







上一篇:【实战】MySQL在Windows下数据库迁移盘符
下一篇:RabbitMQ BasicQos消费者并行处理限制
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-7-20 13:39:29 | 显示全部楼层
Z.EntityFramework.Extensions 注册许可
方法一:

在app.config 或 web.config 文件设置:



方法二:



检查许可证是否有效



码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-9-9 08:13:54 | 显示全部楼层
c#通过DataTable插入大量数据,50万数据只需要3秒
https://www.itsvse.com/thread-3292-1-1.html
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-5-18 04:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表