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. 前端 pickerview 的效果 实现 省市区 三级联动

    效果图 需要引入 大佬写的js 以及 css 源文件里面有大佬的地址 这是我存在gitee上的文件 https://gitee.com/depressiom/address-pickview-effe ...

  2. vue build 指定环境

    前言 其实很简单的东西,搜索时很是费劲,特此记录下来.网上有很多资料,但都是五花八门,特此记录 使用 项目根目录中创建环境变量使用文件 .env #所有环境都会加载 .env.development ...

  3. XCTF练习题---MISC---pdf

    XCTF练习题---CRYPTO---混合编码解析 flag:flag{security_through_obscurity} 解题步骤: 1.观察题目,下载附件 2.根据题目提示,下载文件,发现是一 ...

  4. sa-token client登录逻辑

  5. Linux进程总结

    一个执着于技术的公众号 进程 进程,是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.它的执行需要系统分配资源创建实体之后,才能进行.举个例子: ...

  6. Flutter 状态管理框架 Provider 和 Get 分析

    文/ Nayuta,CFUG 社区 状态管理一直是 Flutter 开发中一个火热的话题.谈到状态管理框架,社区也有诸如有以 Get.Provider 为代表的多种方案,它们有各自的优缺点. 面对这么 ...

  7. git rename branch

    git 不能直接重命名远程分支,如果需要重命名则执行以下步骤操作: 重命名本地分支 删除远程分支 推送本地分支(重命名后的)到远程 额外说明: 1. 重命名后的分支也会保留历史 commit(应该是本 ...

  8. Spring Boot整合模板引擎thymeleaf

    项目结构 引入依赖pom.xml <!-- 引入 thymeleaf 模板依赖 --> <dependency> <groupId>org.springframew ...

  9. 基于 BaGet 搭建 Nuget 服务器

    1 前言 1.1 BaGet 介绍 BaGet 是一个轻量级的,开源的,跨平台的 Nuget 和 symbol 服务器. 1.2 环境介绍 操作系统:CentOS 7 使用 Docker 安装 2 安 ...

  10. 印尼医疗龙头企业Halodoc的数据平台转型之Lakehouse架构

    1. 摘要 在 Halodoc,我们始终致力于为最终用户简化医疗保健服务,随着公司的发展,我们不断构建和提供新功能. 我们两年前建立的可能无法支持我们今天管理的数据量,以解决我们决定改进数据平台架构的 ...