FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)
这篇文章受大家邀请,与 SqlSugar 做一次简单的性能测试对比。主要针对插入、批量插入、批量更新、读取性能的测试;
测试环境
.net core 2.2
FreeSql 0.3.17
sqlSugarCore 4.9.9.3
sqlserver 14.00.1000 Express、mysql 5.6
测试项目
以 console 程序,创建步骤:
1、dotnet new console
2、dotnet add package FreeSql
3、dotnet add package sqlSugarCore
编码的过程

这个错误来自 sugar 创建数据库的时候,实体定义如下:


sugar的没有同步上来。
暂时先用 freesql 帮 sugar 创建了表。。。创建完后如下:

运行时又出现如下错误:

需要加一堆 IsIgnore

是的,还在报错,最终原因是我传入的 songs 是 IEnumerable,然后接受的参数类型正常应该是 Song[],希望作者看到了可以改进。

以 SqlServer 作为目标库,测试结果
第一次:

第二次:

EFCore 也参与进来的测试:

uploading-image-353246.png
以 MySql 作为目标库,测试结果

EFCore 也参与进来的测试:

结束语
然而上面提到的批量更新,今天先到这吧。下次有兴致了再测试。
其他库我就不测试了,谢谢观看!请求献上宝贵的一星。
github:https://github.com/2881099/FreeSql
然后 针对测试的实体类,FreeSql 可以这样查询:
一对一、多对一的查询:
var t0 = fsql.Select<Tag>().Where(a => a.Parent.Parent.Name == "粤语").ToSql();
一对多的查询:
var t1 = fsql.Select<Tag>().Where(a => a.Tags.AsSelect().Any(t => t.Parent.Id == 10)).ToSql();
多对多的查询:
var t2 = fsql.Select<Song>().Where(s => s.Tags.AsSelect().Any(t => t.Name == "国语")).ToSql();
最终的测试代码:https://github.com/2881099/FreeSql/blob/master/Examples/orm_vs/Program.cs
FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)的更多相关文章
- c# 国内外ORM 框架 dapper efcore sqlsugar freesql hisql sqlserver数据常规插入测试性能对比
		
c# 国内外ORM 框架 dapper efcore sqlsugar freesql hisql sqlserver数据常规插入测试性能对比对比 在6.22 号发布了 c# sqlsugar,his ...
 - 性能测试vs负载测试vs压力测试-概念普及
		
下面我们主要介绍性能测试.负载测试和压力测试. 效率作为ISO 9126内部和外部质量的重要质量属性之一,其含义是在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力.资源可能包括其他软 ...
 - [原创] 上海招聘高级测试工程师(性能测试/自动化测试/App测试),长期有效
		
[原创] 上海招聘高级测试工程师(性能测试/自动化测试/App测试方向),长期有效 高级测试工程师(性能/自动化方向) 1.负责性能测试计划,性能需求分析,性能测试方案和用例设计,搭建性能测试环境,执 ...
 - [转贴]LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project
		
https://blog.csdn.net/melody157398/article/details/24354415 LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---I ...
 - 性能测试vs负载测试vs压力测试
		
下面我们主要介绍性能测试.负载测试和压力测试. 效率作为ISO 9126内部和外部质量的重要质量属性之一,其含义是在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力.资源可能包括其他软 ...
 - 测试工程师 技能要求:java编程,数据库,linux操作系统,自动化测试开发,性能测试,安全测试
		
1.具有开发和测试经验,能负责带领大型项目测试 2.掌握或熟悉java编程,熟悉mysql,oracle等db,memcache,nosql等,有互联网行业从业经验 3.可撰写自动化测试工具以及搭建自 ...
 - 性能测试 vs 负载测试 vs 压力测试
		
在做一些软件测试工作时,常常会被提及性能测试.负载测试.压力测试,这也是在软件测试方面最容易混淆的三个概念.之前和一个测试大牛聊天,他和我说常常面试一些测试人员会问一些这样的问题,大多人认为负载测试等 ...
 - LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project
		
LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project Peter盼 2014-04-23 11:25:49 20302 收藏 ...
 - LTP--linux稳定性测试 linux性能测试 ltp压力测试 内核更新 稳定性测试
		
LTP--linux稳定性测试 linux性能测试 ltp压力测试 zhangzj1030关注14人评论33721人阅读2011-12-09 12:07:45 说明:在写这篇文章之前,本人也不曾了 ...
 
随机推荐
- oracle中通过sql查询sde中图形面积
			
select st_area(shape) from XAG2011430200000M_DLTB t where objectid=330
 - css 选择器【转】
			
最近在研究jQuery的选择器,大家知道jQuery的选择器和css的选择器非常相似,所以整理一下css选择器: css1-css3提供非常丰富的选择器,但是由于某些选择器被各个浏览器支持的情况不一样 ...
 - cnblog 模板 SimpleMemory 个性化设置代码备份
			
/页面顶部作者名/ blogTitle h1 { font-size: 50px; margin-top: 0px; } /页面简介/ blogTitle h2 { letter-spacing: 1 ...
 - Python并发编程之线程中的信息隔离(五)
			
大家好,并发编程 进入第三篇. 上班第一天,大家应该比较忙吧.小明也是呢,所以今天的内容也很少.只要几分钟就能学完. 昨天我们说,线程与线程之间要通过消息通信来控制程序的执行. 讲完了消息通信,今天就 ...
 - Python_正则表达式样例
			
''' 正则表达式是字符串处理的有力工具和技术,正则表达式使用预定义的特定模式去匹配一类具有共同特征的字符串, 主要用于字符串处理,可以快速.准确地完成复杂的查找.替换等处理要求. 正则表达式由元字符 ...
 - C++11 左值、右值、右值引用
			
左值.右值 在C++11中所有的值必属于左值.右值两者之一,右值又可以细分为纯右值.将亡值.在C++11中可以取地址的.有名字的就是左值,反之,不能取地址的.没有名字的就是右值(将亡值或纯右值).举个 ...
 - binlog——逻辑复制的基础
			
Ⅰ.binlog定义和作用 1.1 定义 记录每次数据库的逻辑操作(包括表结构变更和表数据修改) 包含:binlog文件和index文件 1.2 作用 复制:从库读取主库binlog,本地回放实现复制 ...
 - 基于微服务API级权限的技术架构
			
一般而言,企业内部一套成熟的权限系统,都是基于角色(Role)的 访问控制方法(RBAC – Role Based Access Control),即权限 (Permission)与角色相关联,用户( ...
 - Embedded servlet containers
			
73. Embedded servlet containers 73.1 Add a Servlet, Filter or Listener to an application There are t ...
 - 使用wordpress搭建自己的独立博客
			
最近想要搭建自己的私人博客, 各种百度,完整的搭建步骤如下! 首先得要有自己的vps或者云主机,我这里是自己的云主机,有自己的域名(我这边目前没有买域名)! 搭建步骤! 1,安装lnmp(linux+ ...