FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)
2019-03-19 12:46
190 查看
这篇文章受大家邀请,与 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
相关文章推荐
- LR性能测试结果样例分析
- moosefs 性能测试结果 (网友jun xiu提供)
- 如何在Visual Studio2010下做性能测试(4)——结果分析及测试报告
- 性能测试结果分析
- 性能测试结果分析
- 第十五讲、jmeter性能测试结果分析与报告
- LoadRunner性能测试结果分析样例
- 有关性能测试结果的几点分析原则
- LR性能测试结果样例分析
- MongoDB、HandlerSocket和MySQL性能测试及其结果分析
- python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
- 性能测试结果分析
- moosefs 性能测试结果 (网友jun xiu提供)
- spserver http性能测试结果
- jmeter3.0生成html格式的dashboard性能测试结果
- Apworks框架中各种仓储实现的性能基准测试与结果对比
- LoadRunner:Controller及结果分析 一、性能测试概述 1、关于性能测试目标: ①TPS ②一定并发用户数下功能点的响应时间 ③一定响应时间内功能点的并发用户数 性能测试不是
- 从chrome/firefox的测试结果说到性能优化
- MongoDB、HandlerSocket和MySQL性能测试及其结果分析
- LoadRunner性能测试结果分析