.NET 百万级 大数据插入、更新 ,支持多种数据库


功能介绍  (需要版本5.0.45)

大数据操作ORM性能瓶颈在实体转换上面,并且不能使用常规的Sql去实现

当列越多转换越慢,SqlSugar将转换性能做到极致,并且采用数据库最佳API

操作数据库达到极限性能

功能用法

BulkCopy 性能远强于现有市场的 ORM框架,比 EFCore Efcore.Bulkextension 快30%

BulkUpdate 吊打现有所有框架 是 EFCore Efcore.Bulkextension 2-3倍之快

//插入 100万 10秒不到 
db.Fastest<RealmAuctionDatum>().BulkCopy(GetList());//性能 比现有任何Bulkcopy都要快30%


//更新
db.Fastest<RealmAuctionDatum>().BulkUpdate(GetList());//更新 吊打所有框架N倍,30列100万8秒更新完
db.Fastest<RealmAuctionDatum>().BulkUpdate(GetList(),new string[]{"id"},new string[]{"name","time"})//无主键用法


//表设置别名
db.Fastest<RealmAuctionDatum>().AS("tableName").BulkCopy(GetList())

数据库支持

数据库API支持自增
SqlSever全支持

MySql

连接字符串要加AllowLoadLocalInfile=true

全支持
PgSql全支持否   
OracleBulkCopy

 

性能测试

插入方案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

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
管理员
上一篇:走进WPF之MVVM完整案例
下一篇:《步步入门》 .NET 6 部署到Linux
评论列表

发表评论

评论内容
昵称:
关联文章

.NET 数据插入更新支持多种数据库
亿数据 分库分表 后怎么分页查询?
asp.net core 支持多种身份认证方式
批量数据快速插入
亿数据 分库分表 后怎么分页查询?
GZDBHelper中Update方法,更新表格数据数据库
WPF对象资源
SQL Server 数据库类型和.NET数据类型映射关系
YARP+AgileConfig 5分钟实现一个支持配置热更新的代理网关
EFCore数据库提供程序
agGrid更新数据applyTransaction无效
WPF 组织机构摄像机树 全量加载 数据量 分页加载摄像机节点
数据库或者其他位置加载ASP.NET MVC Views 视图 数据库中加载 cshtml
.NET6中一些常用组件的配置及使用记录,持续更新中。。。
2023年最新省市区数据下载;中国国家省市区行政区域数据库下载
获得度地图静态图片
WPF程序资源
SQL Update更新数据关联表
Xamarin.Forms 复制本地SQLite数据库
ASP.NET Core 标记帮助程序(TagHelper)数据列表支持,循环数据

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码