.NET 数据库大数据 方案(插入、更新、删除、查询 、插入或更新)
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 数据库大数据 方案(插入、更新、删除、查询 、插入或更新)的更多相关文章
- spring Batch实现数据库大数据量读写
spring Batch实现数据库大数据量读写 博客分类: spring springBatchquartz定时调度批处理 1. data-source-context.xml <?xml v ...
- Python实现单链表数据的添加、删除、插入操作
Python实现单链表数据的添加.删除.插入操作 链表的定义: 链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点都包含结点本身的信息和指向下一个结点的地址.由于每个结 ...
- 双汇大数据方案选型:从棘手的InfluxDB+Redis到毫秒级查询的TDengine
双汇发展多个分厂的能源管控大数据系统主要采用两种技术栈:InfluxDB/Redis和Kafka/Redis/HBase/Flink,对于中小型研发团队来讲,无论是系统搭建,还是实施运维都非常棘手.经 ...
- 低调、奢华、有内涵的敏捷式大数据方案: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 ...
- spark + cassandra +postgres +codis 大数据方案
1.环境: 1.1.cassandra 集群: 用于日志数据存储 1.2.spark集群: 用户后期的实时计算及批处理 1.3.codis 集群: 用于缓存一些基本数据如IP归属地,IP经纬度等,当日 ...
- 数据库---大数据+hadoop
大数据:hadoop:大数据和hadoop的关系
- Hibernate 插入,修改,删除,查询语句
/* *具体操作hibernate的类 *增加,删除,修改,按ID查询,模糊查询,查询全部 **/ public class PersonOperate { //在hibernate中所有操作都是由S ...
- Oracle编辑数据时提示:这些查询结果不可更新,请使用ROWI或者SELECT……FOR UPDATE获得可更新结果
我们在对Oracle数据库进行操作时,有时会在查询完结果后想要对其中的某些数据进行操作,当我们点击编辑(一个锁标志)是,会提示我们上述问题中的错误:这些查询结果不可更新,请使用ROWI或者SELECT ...
- MySQL数据库、数据表和字段字符集查询、修改和配置
一.设置编码 LINUX 修改vi/etc/my.cnf WINDOWS my.ini 在[client]下添加 default-character-set=utf8 在[mysqld]下添加 ...
- 一个大数据方案:基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎
网络爬虫架构在Nutch+Hadoop之上,是一个典型的分布式离线批量处理架构,有非常优异的吞吐量和抓取性能并提供了大量的配置定制选项.由于网络爬虫只负责网络资源的抓取,所以,需要一个分布式搜索引擎, ...
随机推荐
- 逆向之Ja3指纹学习
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! tls tls实际上前身就 ...
- GPT3的局限性:语言多样性、语言理解能力、数据量
目录 GPT-3 的局限性:语言多样性.语言理解能力.数据量 随着人工智能技术的不断发展,越来越多的语言模型被开发出来,其中最具代表性的就是 GPT-3.然而,尽管 GPT-3 已经在自然语言处理领域 ...
- 谷歌语法的基础知识&FOFA
谷歌语法 谷歌语法基础符号: "xxx":表示完全匹配,即关键字不能分开,顺序也不能变 +:"xxx"+www.baidu.com 搜索xxx与baidu.c ...
- 推荐一款.NET开源跨平台的开箱即用的DNS服务器软件
前言 今天要给大家推荐一款.NET开源跨平台的开箱即用的DNS服务器软件(用于提供 DNS 解析服务):Technitium DNS Server. 项目介绍 Technitium DNS Serve ...
- Go 并发模型—Goroutines
前言 Goroutines 是 Go 语言主要的并发原语.它看起来非常像线程,但是相比于线程它的创建和管理成本很低.Go 在运行时将 goroutine 有效地调度到真实的线程上,以避免浪费资源,因此 ...
- Unity的OnOpenAsset:深入解析与实用案例
Unity OnOpenAsset 在Unity中,OnOpenAsset是一个非常有用的回调函数,它可以在用户双击资源文件时自动打开一个编辑器窗口.这个回调函数可以用于自定义资源编辑,提高工作效率. ...
- Python 学习路线图
Python 学习路线图 在这个系列笔记中,我将陆续整理自己在学习 Python 编程语言及其框架的过程中留下的笔记和代码,目的是掌握如何在生产环境中利用各种领域的第三方框架来快速开发应用程序.和大多 ...
- Web网页音视频通话之Webrtc相关操作(二)
效果图 HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- Python根目录中没有Scripts文件夹问题
电脑版本是win10,配置好python的环境变量,确保可以运行python命令. 1.打开cmd命令行输入 python -m ensurepip 2.查看Python根目录下,有没有新生成Scri ...
- quarkus实战之二:应用的创建、构建、部署
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<quarkus实战>系列 ...