FreeSql与SqlSugar性能测试对比
這篇文章主要是對SqlSugar 做一次簡單的性能測試對比。主要針對插入、批量插入、批量更新、讀取性能的測試;
測試環(huán)境
1、.net core 2.2
2、FreeSql 0.3.17
3、sqlSugarCore 4.9.9.3
4、sqlserver 14.00.1000 Express、mysql 5.6
?
測試項目
以 console 程序,創(chuàng)建步驟:
1、dotnet new console
2、dotnet add package FreeSql
3、dotnet add package sqlSugarCore
?
代碼展示
這個錯誤來自 sugar 創(chuàng)建數(shù)據(jù)庫的時候,實體定義如下:
sugar的沒有同步上來。
暫時先用 freesql 幫 sugar 創(chuàng)建了表。。。創(chuàng)建完后如下:
運行時又出現(xiàn)如下錯誤:
需要加一堆 IsIgnore
是的,還在報錯,最終原因是我傳入的 songs 是 IEnumerable,然后接受的參數(shù)類型正常應該是 Song[],希望作者看到了可以改進。
?
測試效果(SQLServer作為數(shù)據(jù)庫)
第一次:
第二次:
EFCore 也參與進來的測試:
uploading-image-353246.png
?
?
測試效果(MySQL作為數(shù)據(jù)庫)
EFCore 也參與進來的測試:
?
總結(jié)
然而上面提到的批量更新,今天先到這吧。下次有興致了再測試。
其他庫我就不測試了,謝謝觀看!請求獻上寶貴的一星。
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
?
?
總結(jié)
以上是生活随笔為你收集整理的FreeSql与SqlSugar性能测试对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dapper使用技巧
- 下一篇: 接口测试必要性