c# 国内外ORM 框架 dapper efcore sqlsugar freesql hisql sqlserver数据常规插入测试性能对比对比

在6.22 号发布了 c# sqlsugar,hisql,freesql orm框架全方位性能测试对比 sqlserver 性能测试 引起了很多争议

声明

首先我还是要做一下声明,测的都是开源软件,都是有开源协议的,而且测试源码已经开放不存在有故意黑的主观意图,测试结果仅为博主的电脑的配置测试的结果为测试结果呈现,测试结果不为最终结果。如果有意见请文明反馈,不接受任何形式的威胁与删博!!!

上次有部分网友说要对比一下efcore 和dapper的对比测试。那么这次来一次国内外ORM进行测试对比。

不过有点遗憾的是 目前dapper 和efcore 官方包中没有bulkcopy的功能(第三方插件有),因为官方没有如果拿第三方插件来做bulkcopy的对比这样有失公允,所以本次测试不测bulkcopy的,如果网友有比较认可的第三方插件那么下一次安排上。

经过上一次的测试经验 这次博主用两台电脑测试 两台电脑的配置如下

测试方案

  1. 因为不同的列插入的性能和时间肯定是有差别的本测试采用10列以下的数据集和50列的数据集进行测试
  2. 从5,50,100,500,1000,5000,10000,50000,100000 的数据阶段进行对比测试
  3. 为了防止有人说一台电脑测试不准,那么这次使用两台相同配置的电脑进行对比测试
  4. 测试的源码 上传到github
  5. 所有相关ORM的包都通过nuget安装最新版本2022.6.28前发布的
  6. 运行的测试程序都是在release环境运行
  7. 多个ORM同时运行,如果有影响那么整体相互影响测试相对是公平的
  8. 每个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数据常规插入测试性能对比的更多相关文章

  1. .NET ORM框架HiSql实战-第一章-集成HiSql

    一.引言 做.Net这么多年,出现了很多很多ORM框架,比如Dapper,Sqlsugar,Freesql等等.在之前的项目中,用到的ORM框架也大多数是这几个老牌的框架. 不过最近园子关于.NET ...

  2. .NET轻量级ORM框架Dapper入门精通

    一.课程介绍 本次分享课程包含两个部分<.NET轻量级ORM框架Dapper修炼手册>和<.NET轻量级ORM框架Dapper葵花宝典>,阿笨将带领大家一起领略轻量级ORM框架 ...

  3. sqlsugar freesql hisql 三个ORM框架性能测试对比

    hisql与目前比较流行的ORM框架性能测试对比 总体测试结果 插入记录数 hisql(耗时) sqlsugar(耗时) freesql(耗时) 5条 0.0107秒 0.0312秒 0.02675秒 ...

  4. 轻量型ORM框架Dapper的使用

    在真实的项目开发中,可能有些人比较喜欢写SQL语句,但是对于EF这种ORM框架比较排斥,那么轻量型的Dapper就是一个不错的选择,即让你写sql语句了,有进行了关系对象映射.其实对于EF吧,我说下我 ...

  5. 微软跨平台ORM框架之EFCore

    EFCore是微软推出的跨平台ORM框架,想较于EF6.X版本,更加轻量级.EFCore目前已经更新到2.x. 接下来用CodeFirst的方式来使用EFCore. 1.创建控制台程序 2.引入EFC ...

  6. 轻量级ORM框架Dapper应用一:Dapper安装

    一.Dapper简介 Dapper是一款轻量级ORM框架,为解决网站访问流量极高而产生的性能问题而构造,主要通过执行TSQL表达式而实现数据库的CQRS. 如果你在项目中遇到性能访问问题,选择Dapp ...

  7. ORM框架——Dapper的应用

    常见的ORM框架有EF,Dapper,NHibernate 参考:http://shuai7boy.iteye.com/blog/2357339 http://www.cnblogs.com/Sint ...

  8. .NET 轻量级 ORM 框架 - Dapper 介绍

    Dapper简单介绍: Dapper is a single file you can drop in to your project that will extend your IDbConnect ...

  9. 基于轻量级ORM框架Dapper的扩展说明

    这里简单的介绍一下本人基于Dapper作的一些简单的扩展,供大家参考. 为何要使用这款框架,相信大家看到下面排名就清楚了 其实在各大网站上,我们大概都会看到这样的一个对比效果图,在超过500次poco ...

随机推荐

  1. 2021.07.20 CF1477A Nezzar and Board(最大公因数,未证)

    2021.07.20 CF1477A Nezzar and Board(最大公因数,未证) CF1477A Nezzar and Board - 洛谷 | 计算机科学教育新生态 (luogu.com. ...

  2. Halo 开源项目学习(一):项目启动

    项目简介 Halo 是一个优秀的开源博客发布应用,在 GitHub 上广受好评,正好最近在练习写博客,借此记录一下学习 Halo 的过程. 项目下载 从 GitHub 上拉取项目源码,Halo 从 1 ...

  3. zookeeper篇-zk的选举机制

    点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. 说说zk的选举机制 基础概念 zxid=事务id=一个时间戳,代表当前事 ...

  4. vue下一代状态管理Pinia.js 保证你看的明明白白!

    1.pinia的简单介绍 Pinia最初是在2019年11月左右重新设计使用Composition API的 Vue 商店外观的实验. 从那时起,最初的原则相同,但 Pinia 适用于 Vue 2 和 ...

  5. umi框架应用服务端SSR,实现数据预渲染

    当我们的应用使用服务端渲染的方式时,可能需要把初始化加载的数据例如推荐等不需要用户输入的内容直接渲染获取,也有利于SEO. 上一篇已经实现服务端渲染,本次实现服务端获取数据后在做渲染. 利用getIn ...

  6. php错误异常及其排错

    错误和异常 错误 php程序自身的问题,一般是由非法的语法,环境问题导致 异常 一般是业务逻辑上出现的不合预期.与正常流程不同的状况,不是语法错误 错误异常继承关系 小括号表示php版本 php7下的 ...

  7. [笔记] $f(i)$ 为 $k$ 次多项式,$\sum_{i=0}^nf(i)\cdot q^i$ 的 $O(k\log k)$ 求法

    \(f(i)\) 为 \(k\) 次多项式,\(\sum_{i=0}^nf(i)\cdot q^i\) 的 \(O(k\log k)\) 求法 令 \(S(n)=\sum_{i=0}^{n-1}f(i ...

  8. C++基础-2-引用

    2. 引用 2.1 引用的基本语法 1 #include<iostream> 2 using namespace std; 3 4 5 int main() { 6 7 //引用的基本语法 ...

  9. 一条更新的SQL如何执行

    开源Linux 一个执着于技术的公众号 一条SQL的执行流程如图所示 如图所示:MySQL数据库主要分为两个层级:服务层和存储引擎层 •服务层:server层包括连接器.查询缓存.分析器.优化器.执行 ...

  10. Oracle 19c单实例部署

    目录 Oracle 19c单实例部署: 1.配置yum: 2.安装rpm包: 3.设置hostname: 4.配置hostname解析: 5.配置时钟同步服务(ntp): 6.检查及配置内核参数: 7 ...