FreeSql 與 SqlSugar 性能測試(增EFCore測試結果)

這篇文章受你們邀請,與 SqlSugar 作一次簡單的性能測試對比。主要針對插入、批量插入、批量更新、讀取性能的測試;mysql

測試環境

  • .net core 2.2
  • FreeSql 0.3.17
  • sqlSugarCore 4.9.9.3git

  • sqlserver 14.00.1000 Express、mysql 5.6github

測試項目

以 console 程序,建立步驟:sql

一、dotnet new console數據庫

二、dotnet add package FreeSqlsqlserver

三、dotnet add package sqlSugarCore性能

編碼的過程

這個錯誤來自 sugar 建立數據庫的時候,實體定義以下:測試


sugar的沒有同步上來。編碼

暫時先用 freesql 幫 sugar 建立了表。。。建立完後以下:.net

運行時又出現以下錯誤:

須要加一堆 IsIgnore

是的,還在報錯,最終緣由是我傳入的 songs 是 IEnumerable ,而後接受的參數類型正常應該是 Song[],但願做者看到了能夠改進。

以 SqlServer 做爲目標庫,測試結果

第一次:

第二次:

EFCore 也參與進來的測試:

uploading-image-353246.png

以 MySql 做爲目標庫,測試結果

EFCore 也參與進來的測試:

結束語

然而上面提到的批量更新,今天先到這吧。下次有興致了再測試。

其餘庫我就不測試了,謝謝觀看!請求獻上寶貴的一星。

github:https://github.com/2881099/FreeSql

而後 針對測試的實體類,FreeSql 能夠這樣查詢:

一對1、多對一的查詢:

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

相關文章
相關標籤/搜索