1、功能介绍 (需要版本5.0.45)

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

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

操作数据库达到极限性能

BulkCopy

大数据插入

db.Fastest<DC_Scene>().BulkCopy(lstData);
db.Fastest<Order>().PageSize(100000).BulkCopy(insertObjs);
//Winfom中要用Task.Run 底层是异步实现

  

BulkUpdate

大数据更新

db.Fastest<RealmAuctionDatum>().BulkUpdate(GetList())//更新
db.Fastest<RealmAuctionDatum>().PageSize(100000).BulkUpdate(GetList())//更新
//Winfom中要用Task.Run 底层是异步实现

  

BulkMerge (5.1.4.109)

大数据 : 插入或者更新

//原理//Oracle和SqlServer使用了Merge Into+BulkCopy
//其他库底层是 db.Storageable(list).ExecuteSqlBulkCopy()
db.Fastest<Order>().BulkMerge(List);
db.Fastest<Order>().PageSize(100000).BulkMerge(List);
//Winfom中要用Task.Run 底层是异步实现

  

BulkQuery

普通查询就行了性能超快
db.Queryable<Order>().ToList();//比Dapper略快
//分页降低内存 适合复杂的DTO转换和导出
List<Order> order = new List<Order>();
db.Queryable<Order>().ForEach(it=> { order.Add(it); /*禁止这儿操作数据库因为会循环*/} ,2000);

BulkDelete

直接用分页删除就行了

db.Deleteable<Order>(list).PageSize(1000).ExecuteCommand();
 

Select INTO

表和表之间的导入
Select INTO
表和表之间的导入
//例1:不同实体插入 Select Into
db.Queryable<Order>()
//.IgnoreColumns(it=>it.Id) 如果是自增可以忽略,不过ID就不一样了
.Select(it=>new { name=it.name,......})
.IntoTable<实体2>(); //例2: 同实体不同表插入
db.Queryable<Order>()
//.IgnoreColumns(it=>it.Id) 如果是自增可以忽略,不过ID就不一样了
.IntoTable<Order>("新表名");

  

SqlSugar ORM更多用法:

Nuget安装 - SqlSugar 5x - .NET果糖网

.NET 数据库大数据 方案(插入、更新、删除、查询 、插入或更新)的更多相关文章

  1. spring Batch实现数据库大数据量读写

    spring Batch实现数据库大数据量读写 博客分类: spring springBatchquartz定时调度批处理  1. data-source-context.xml <?xml v ...

  2. Python实现单链表数据的添加、删除、插入操作

    Python实现单链表数据的添加.删除.插入操作 链表的定义: 链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点都包含结点本身的信息和指向下一个结点的地址.由于每个结 ...

  3. 双汇大数据方案选型:从棘手的InfluxDB+Redis到毫秒级查询的TDengine

    双汇发展多个分厂的能源管控大数据系统主要采用两种技术栈:InfluxDB/Redis和Kafka/Redis/HBase/Flink,对于中小型研发团队来讲,无论是系统搭建,还是实施运维都非常棘手.经 ...

  4. 低调、奢华、有内涵的敏捷式大数据方案:Flume+Cassandra+Presto+SpagoBI

    基于FacebookPresto+Cassandra的敏捷式大数据 文件夹 1 1.1 1.1.1 1.1.2 1.2 1.2.1 1.2.2 2 2.1 2.2 2.3 2.4 2.5 2.6 3 ...

  5. spark + cassandra +postgres +codis 大数据方案

    1.环境: 1.1.cassandra 集群: 用于日志数据存储 1.2.spark集群: 用户后期的实时计算及批处理 1.3.codis 集群: 用于缓存一些基本数据如IP归属地,IP经纬度等,当日 ...

  6. 数据库---大数据+hadoop

    大数据:hadoop:大数据和hadoop的关系

  7. Hibernate 插入,修改,删除,查询语句

    /* *具体操作hibernate的类 *增加,删除,修改,按ID查询,模糊查询,查询全部 **/ public class PersonOperate { //在hibernate中所有操作都是由S ...

  8. Oracle编辑数据时提示:这些查询结果不可更新,请使用ROWI或者SELECT……FOR UPDATE获得可更新结果

    我们在对Oracle数据库进行操作时,有时会在查询完结果后想要对其中的某些数据进行操作,当我们点击编辑(一个锁标志)是,会提示我们上述问题中的错误:这些查询结果不可更新,请使用ROWI或者SELECT ...

  9. MySQL数据库、数据表和字段字符集查询、修改和配置

    一.设置编码 LINUX  修改vi/etc/my.cnf WINDOWS my.ini 在[client]下添加    default-character-set=utf8 在[mysqld]下添加 ...

  10. 一个大数据方案:基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎

    网络爬虫架构在Nutch+Hadoop之上,是一个典型的分布式离线批量处理架构,有非常优异的吞吐量和抓取性能并提供了大量的配置定制选项.由于网络爬虫只负责网络资源的抓取,所以,需要一个分布式搜索引擎, ...

随机推荐

  1. NOIP模拟测试A3 赛后总结

    T1 谜之阶乘 可以发现题目要求我们求的实际上是若干个连续整数 \(c_i\) ,使得 \(\displaystyle \prod c_i = n\),通过打表可以发现这些连续整数的长度 \(d\) ...

  2. CKS 考试题整理 (02)-Apparmor

    Context Apparmor 已在 cluster 的工作节点 node02 上被启用.一个 Apparmor 配置文件已存在,但尚未被实施. Task 在 cluster 的工作节点 node0 ...

  3. 【python基础】函数-值传递

    为了更好的认识函数,我们还要研究值传递问题,再研究这个问题之前,我们已经知道了函数之间的值传递,是实参变量值传递给形参变量,然后让形参变量在函数内完成相应的功能.但是因为数据类型的不同,这里的值传递产 ...

  4. MySql InnoDB 存储引擎表优化

    一.InnoDB 表存储优化 1.OPTIMIZE TABLE 适时的使用 OPTIMIZE TABLE 语句来重组表,压缩浪费的表空间.这是在其它优化技术不可用的情况下最直接的方法.OPTIMIZE ...

  5. js如何操作video标签

    一.简介 在做web ui自动化时,遇到操作视频的时候有时比较让人头疼,定位时会发现只有一个<video>标签,用selenium来实现的话比较麻烦,使用js后我们只需定位到video标签 ...

  6. 逍遥自在学C语言 | 函数初级到高级解析

    前言 函数是C语言中的基本构建块之一,它允许我们将代码组织成可重用.模块化的单元. 本文将逐步介绍C语言函数的基础概念.参数传递.返回值.递归以及内联函数和匿名函数. 一.人物简介 第一位闪亮登场,有 ...

  7. 前端学习 C 语言 —— GDB调试器

    GDB调试器 我们在讲指针时用 GDB 调试段错误. 本篇将详细介绍 gdb 的最常用命令.日志记录.检测点,最后介绍如何用 gdb 调试进程以及用gdb 调试一个开源项目的调试版本 -- glmar ...

  8. 「学习笔记」Lambda 表达式

    Lambda 表达式因数学中的 \(\lambda\) 演算得名, 直接对应于其中的 lambda 抽象. Lambda 表达式能够捕获作用域中的变量的无名函数对象, 我们可以将其理解为一个匿名的内联 ...

  9. Geo

    Geo 应用情景 打车时寻找半径在多少范围的司机 查找附近的酒店,微信摇一摇 Linux中文乱码如何处理? redis-cli --raw docker: docker exec -it redis ...

  10. String s=new String(“hello”)的执行过程

    一. 介绍 String 是Java.long包下的String类,是一个特殊的引用类型,用于表示字符串.它提供了许多方法来操作和处理字符串,比如连接.截取.查找.替换等.String类内部使用字符数 ...