c# 国内外ORM 框架 dapper efcore sqlsugar freesql hisql sqlserver数据常规插入测试性能对比
c# 国内外ORM 框架 dapper efcore sqlsugar freesql hisql sqlserver数据常规插入测试性能对比对比
在6.22 号发布了 c# sqlsugar,hisql,freesql orm框架全方位性能测试对比 sqlserver 性能测试 引起了很多争议
声明
首先我还是要做一下声明,测的都是开源软件,都是有开源协议的,而且测试源码已经开放不存在有故意黑的主观意图,测试结果仅为博主的电脑的配置测试的结果为测试结果呈现,测试结果不为最终结果。如果有意见请文明反馈,不接受任何形式的威胁与删博!!!
上次有部分网友说要对比一下efcore 和dapper的对比测试。那么这次来一次国内外ORM进行测试对比。
不过有点遗憾的是 目前dapper 和efcore 官方包中没有bulkcopy的功能(第三方插件有),因为官方没有如果拿第三方插件来做bulkcopy的对比这样有失公允,所以本次测试不测bulkcopy的,如果网友有比较认可的第三方插件那么下一次安排上。
经过上一次的测试经验 这次博主用两台电脑测试 两台电脑的配置如下
测试方案
- 因为不同的列插入的性能和时间肯定是有差别的本测试采用10列以下的数据集和50列的数据集进行测试
- 从5,50,100,500,1000,5000,10000,50000,100000 的数据阶段进行对比测试
- 为了防止有人说一台电脑测试不准,那么这次使用两台相同配置的电脑进行对比测试
- 测试的源码 上传到github
- 所有相关ORM的包都通过nuget安装最新版本2022.6.28前发布的
- 运行的测试程序都是在release环境运行
- 多个ORM同时运行,如果有影响那么整体相互影响测试相对是公平的
- 每个ORM插入的是独立的专用表,但结构是一模一样(不存在表不同的问题)
测试结果
废话不多说先看测试结果,以下测试结果对排名进行不同颜色区分以下是颜色区分的图示

第一台电脑测试结果
dapper efcore hisql sqlsugar freesql10列以下的常规数据插入测试结果

这个测试结果有没有让人很意外 efcore说实在的在很多网友的印象中应该还算是不错的,结果测试出来...(不会有人说我在黑efcore吧) 我只是基于这个测试结果来说
dapper efcore hisql sqlsugar freesql 50列常规数据插入测试结果

50列的 efcore 就更加明显了 ,至于排名我请大家自己评判吧
好了, 这是第一台测试电脑的结果
第二台电脑测试结果
dapper efcore hisql sqlsugar freesql10列以下的常规数据插入测试结果

这台电脑的配置排名相对于第一台电脑有一点变化
dapper efcore hisql sqlsugar freesql 50列常规数据插入测试结果

第一台电脑的测试明细截图
第一台电脑5条10列以下插入截图

第一台电脑50条10列以下插入截图

第一台电脑100条10列以下插入截图

第一台电脑500条10列以下插入截图

第一台电脑1000条10列以下插入截图

第一台电脑5000条10列以下插入截图

第一台电脑10000条10列以下插入截图

第一台电脑50000条10列以下插入截图

第一台电脑100000条10列以下插入截图

第一台电脑5条50列插入截图

第一台电脑50条50列插入截图

第一台电脑100条50列插入截图

第一台电脑500条50列插入截图

第一台电脑1000条50列插入截图

第一台电脑5000条50列插入截图

第一台电脑10000条50列插入截图

第一台电脑50000条50列插入截图

第一台电脑100000条50列插入截图

第二台电脑的测试明细截图
第二台电脑5条10列以下插入截图

第二台电脑50条10列以下插入截图

第二台电脑100条10列以下插入截图

第二台电脑500条10列以下插入截图

第二台电脑1000条10列以下插入截图

第二台电脑5000条10列以下插入截图

第二台电脑10000条10列以下插入截图

第二台电脑50000条10列以下插入截图

第二台电脑100000条10列以下插入截图

第二台电脑5条50列插入截图

第二台电脑50条50列插入截图

第二台电脑100条50列插入截图

第二台电脑500条50列插入截图

第二台电脑1000条50列插入截图

第二台电脑5000条50列插入截图

第二台电脑10000条50列插入截图

第二台电脑50000条50列插入截图

第二台电脑100000条50列插入截图

测试电脑配置
两台一模一样配置电脑
第一台电脑配置
内存,CPU 相关配置

sqlserver 版本信息

第二台电脑配置
内存,CPU 相关配置

sqlserver 版本信息

总结
本测试结果仅作参考,在不同的电脑环境可能体现出来的测试结果可能有差异,但整体排名差不大
c# 国内外ORM 框架 dapper efcore sqlsugar freesql hisql sqlserver数据常规插入测试性能对比的更多相关文章
- .NET ORM框架HiSql实战-第一章-集成HiSql
一.引言 做.Net这么多年,出现了很多很多ORM框架,比如Dapper,Sqlsugar,Freesql等等.在之前的项目中,用到的ORM框架也大多数是这几个老牌的框架. 不过最近园子关于.NET ...
- .NET轻量级ORM框架Dapper入门精通
一.课程介绍 本次分享课程包含两个部分<.NET轻量级ORM框架Dapper修炼手册>和<.NET轻量级ORM框架Dapper葵花宝典>,阿笨将带领大家一起领略轻量级ORM框架 ...
- sqlsugar freesql hisql 三个ORM框架性能测试对比
hisql与目前比较流行的ORM框架性能测试对比 总体测试结果 插入记录数 hisql(耗时) sqlsugar(耗时) freesql(耗时) 5条 0.0107秒 0.0312秒 0.02675秒 ...
- 轻量型ORM框架Dapper的使用
在真实的项目开发中,可能有些人比较喜欢写SQL语句,但是对于EF这种ORM框架比较排斥,那么轻量型的Dapper就是一个不错的选择,即让你写sql语句了,有进行了关系对象映射.其实对于EF吧,我说下我 ...
- 微软跨平台ORM框架之EFCore
EFCore是微软推出的跨平台ORM框架,想较于EF6.X版本,更加轻量级.EFCore目前已经更新到2.x. 接下来用CodeFirst的方式来使用EFCore. 1.创建控制台程序 2.引入EFC ...
- 轻量级ORM框架Dapper应用一:Dapper安装
一.Dapper简介 Dapper是一款轻量级ORM框架,为解决网站访问流量极高而产生的性能问题而构造,主要通过执行TSQL表达式而实现数据库的CQRS. 如果你在项目中遇到性能访问问题,选择Dapp ...
- ORM框架——Dapper的应用
常见的ORM框架有EF,Dapper,NHibernate 参考:http://shuai7boy.iteye.com/blog/2357339 http://www.cnblogs.com/Sint ...
- .NET 轻量级 ORM 框架 - Dapper 介绍
Dapper简单介绍: Dapper is a single file you can drop in to your project that will extend your IDbConnect ...
- 基于轻量级ORM框架Dapper的扩展说明
这里简单的介绍一下本人基于Dapper作的一些简单的扩展,供大家参考. 为何要使用这款框架,相信大家看到下面排名就清楚了 其实在各大网站上,我们大概都会看到这样的一个对比效果图,在超过500次poco ...
随机推荐
- iNeuOS工业互联网操作系统,三维(3D)模型在线编辑应用和实时数据统计(和值、均值、众数、方差、中位数等)
目 录 1. 概述... 1 2. 三维(3D)模型在线编辑与应用... 2 3. 实时数据统计... 4 1. 概述 此次,iNeuOS工业互联网操作系 ...
- Service vs Factory vs provider的迷惑
刚开始我很迷惑的,但是经过一段时间的项目,还有看大漠老师的东西,似乎明白了,他们的区别也就是 一个人喜欢吃面还是吃饭或者肯德基区别.目的就是填饱肚子! 以下是它们在AngularJS源代码中的定义: ...
- partTwo自动出题程序第一阶段
课堂测试1:像二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的 "软件" 代码实现 import java.util.Random;//import java.uti ...
- ASP.NET和ASP.NETCore多环境配置对比
前言 多环境配置应该都很熟悉了,最为常见的便是Debug和Release,例如下图是新建的一个asp.net项目,配置文件展开共有三个文件组成 据我所知,大多公司从来没编辑过Web.Debug.con ...
- Revit二次开发之添加选项卡和按钮
我们日常在revit开发中经常会用到按钮,可以通过revitAPI提供的接口创建按钮,今天我简单介绍一下两种按钮,一种是单命令按钮,另一种是含下拉菜单的按钮,包括创建他们的方法. 实现方法 1.实 ...
- 【vue】$attrs的作用和使用方法
之前一直不了解$attrs的作用和使用场景,然后自己翻阅了相关资料整理了下,如有不对的地方请大家指教 $attrs: $attrs是vue版本2.40以上新增的属性: 使用场景: vue项目里面,大家 ...
- [笔记] Powerful Number 筛
定义 Powerful Number(以下简称 PN)筛类似于杜教筛,可以拿来求一些积性函数的前缀和. 要求: 假设现在要求积性函数 \(f\) 的前缀和 \(F(n)=\sum_{i=1}^nf(i ...
- 为什么 Nginx 比 Apache 更厉害?
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 为什么Nginx在处理高并发方面要优于httpd,我们先从两种web服务器的工作原理以及工作模 ...
- Arthas常用功能及一次线上问题排查
一.Arthas简介 Arthas是Alibaba开源的Java诊断工具,功能很强大,它是通过Agent方式来连接运行的Java进程.主要通过交互式来完成功能. https://arthas.aliy ...
- Jdbc从入门到入土
二刷jdbc 作者小结:从第一次大概几天快速刷完jdbc,到如今的二刷,才发现自己对jdbc的理解有点太浅.到学习javaweb是创建数据库层时的迷茫,到现在对这种设计模式的理解.我深有体会到了:实打 ...