当前位置:   article > 正文

sqlsugar对mysql效率高_FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

sqlsugar性能

这篇文章受大家邀请,与 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

编码的过程

be2c658cf37a85ba21e20692c69bf14a.png

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

0fe421962a1fed829995551c7f14faee.png

b1b8e328c056e4e60e115e9088939c2d.png

sugar的没有同步上来。

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

1d4727414600abae584bd33f16b5b9c2.png

运行时又出现如下错误:

25d2af8660c1c81b214f7606606cac87.png

需要加一堆 IsIgnore

b30d0462415b9d46bbd77e8b7a01c868.png

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

be4ad1d1aeda0b84c5250cde4c6af06a.png

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

第一次:

09e44ff218f4807759ff5fe622df6905.png

第二次:

70f7907c0eaa175b3373412e23cc7d17.png

EFCore 也参与进来的测试:

2aaaad15ab2be8ed80e5abbc2f61922e.png

uploading-image-353246.png

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

f22931898d3c795436970cc2003a0381.png

EFCore 也参与进来的测试:

93572e8873ba8693998cc8401d0c6020.png

结束语

然而上面提到的批量更新,今天先到这吧。下次有兴致了再测试。

其他库我就不测试了,谢谢观看!请求献上宝贵的一星。

然后 针对测试的实体类,FreeSql 可以这样查询:

一对一、多对一的查询:

var t0 = fsql.Select().Where(a => a.Parent.Parent.Name == \"粤语\").ToSql();

一对多的查询:

var t1 = fsql.Select().Where(a => a.Tags.AsSelect().Any(t => t.Parent.Id == 10)).ToSql();

多对多的查询:

var t2 = fsql.Select().Where(s => s.Tags.AsSelect().Any(t => t.Name == \"国语\")).ToSql();

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/400195
推荐阅读
相关标签
  

闽ICP备14008679号