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

编码的过程

FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

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

FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)
sugar的没有同步上来。

暂时先用 freesql 帮 sugar 创建了表。。。创建完后如下:

FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

运行时又出现如下错误:

FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

需要加一堆 IsIgnore

FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

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

FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

以 SqlServer 作为目标库,测试结果

第一次:
FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

第二次:
FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

EFCore 也参与进来的测试:
FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

uploading-image-353246.png

以 MySql 作为目标库,测试结果

FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

EFCore 也参与进来的测试:
FreeSql 与 SqlSugar 性能测试(增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

给TA打赏
共{{data.count}}人
人已打赏
随笔日记

浅谈接口测试

2020-11-9 3:52:42

随笔日记

[深度概念]·K-Fold 交叉验证 (Cross-Validation)的理解与应用,规则化和模型选择(Regularization and model selection)

2020-11-9 3:52:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索