首页
视频
资源
登录
转
.NET 百万级 大数据插入、更新 ,支持多种数据库
1884
人阅读
2023/6/15 9:58
总访问:
574475
评论:
0
收藏:
0
手机
分类:
ORM
### 功能介绍 (需要版本5.0.45) 大数据操作ORM性能瓶颈在实体转换上面,并且不能使用常规的Sql去实现 当列越多转换越慢,SqlSugar将转换性能做到极致,并且采用数据库最佳API 操作数据库达到极限性能 ### 功能用法 BulkCopy 性能远强于现有市场的 ORM框架,比 EFCore Efcore.Bulkextension 快30% BulkUpdate 吊打现有所有框架 是 EFCore Efcore.Bulkextension 2-3倍之快 ``` //插入 100万 10秒不到 db.Fastest().BulkCopy(GetList());//性能 比现有任何Bulkcopy都要快30% //更新 db.Fastest().BulkUpdate(GetList());//更新 吊打所有框架N倍,30列100万8秒更新完 db.Fastest().BulkUpdate(GetList(),new string[]{"id"},new string[]{"name","time"})//无主键用法 //表设置别名 db.Fastest().AS("tableName").BulkCopy(GetList()) ``` ### 数据库支持 | 数据库 | API | 支持自增 | | ------------ | ------------ | | SqlSever | 全支持 | 是 | | MySql 连接字符串要加AllowLoadLocalInfile=true | 全支持 | 是 | | PgSql | 全支持 | 否 | | Oracle | BulkCopy | 否 | ### 性能测试 插入方案SqlSugar VS EFCore EFCore.BulkExtensions 10万条数据 30列 ,可以看出EFCore.BulkExtensions在第一插入性能非常慢,正常情况下大数据插入也就比第一次 在更新方面SqlSugar也利用了bulkCopy方式进行更新,这一方面.NET 除了EFCore.BulkExtensions 并没有发现有相关的产品(收费除外), 在更新操作方案 SqlSugar基本上是独一无二的 **EFCore.BulkExtensions 缺点 只支持 SqlServer 并且性能不如SqlSugar** ### 使用疑问 1.比如Sqlite ... 还不支持怎么办? 答:Sqlite普通插入加上事务就已经是市场上优秀水平了 (后续争取在技术上有突破支持SQLITE) ``` db.Insertable(insertObj).ExecuteReturnIdentity();//普通插入并不慢 ,列不多情况1秒可以插入1万 ``` 2.什么情况用db.Fastest 答: db.Fastest主要是用于大数据插入、更新处理,如果1000条以下就没有必要使用了,毕竟支持的API没有普通插入丰富, 在小数据插入上也并没有太多优势,db.Fastest性能主要强大1000以上的数据处理 ### 老版本 老版本可以这么用,性能不如db.Fastest ``` //(3)、blukCopy插入 //只适合1万以上超大数据插入或者上面数据插入慢情况,小数据插入性能不行,不是所有库都支持 db.Insertable(List<实体>).UseSqlServer().ExecuteBulkCopy() db.Insertable(List<实体>).UseMySql().ExecuteBulkCopy()//高版本Mysql.data驱动,连接字符串要加AllowLoadLocalInfile=true db.Insertable(List<实体>).UseOracle().ExecuteBulkCopy()//5.0.3.8-Preview ``` ### 源码下载: https://github.com/donet5/SqlSugar sqlsugar已经持续更新7年之久,也越来越完善 ,如果说EF或者其它ORM不更新了,那么多一个开源就是多一个选择, 谢谢支持 ,随着大数据库时代的到来,用户对数据处理也要求越来越高,一款海量数据的读、写、更新的框架必不可少 原文:https://www.cnblogs.com/sunkaixuan/p/15587149.html
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
👈{{preArticle.title}}
👉{{nextArticle.title}}
评价
{{titleitem}}
{{titleitem}}
{{item.content}}
{{titleitem}}
{{titleitem}}
{{item.content}}
TeachingNote
这一生多幸运赶上过你.
博主信息
排名
6
文章
6
粉丝
16
评论
8
文章类别
.net
36篇
后端
5篇
ORM
16篇
前端
48篇
随笔
13篇
移动开发
6篇
数据库
6篇
英语
3篇
rabbitmq
1篇
.net core
5篇
unity
1篇
k8s
1篇
云服务
1篇
DDD
1篇
网络
1篇
更多
mysql
1篇
python
2篇
docker
1篇
最新文章
最新评价
{{item.articleTitle}}
{{item.blogName}}
:
{{item.content}}
关于我们
ICP备案 :
渝ICP备18016597号-1
网站信息:
2018-2024
TNBLOG.NET
技术交流:
群号656732739
联系我们:
contact@tnblog.net
欢迎加群
欢迎加群交流技术