c# 國內外ORM 框架 dapper efcore sqlsugar freesql hisql sqlserver數據常規插入測試性能對比

来源:https://www.cnblogs.com/tansar/archive/2022/06/29/16423919.html
-Advertisement-
Play Games

在程式開發過程中,我們一般會用到配置文件來設定一些參數。常見的配置文件格式為 **ini**, **xml**, **config**等。 ...


c# 國內外ORM 框架 dapper efcore sqlsugar freesql hisql sqlserver數據常規插入測試性能對比對比

在6.22 號發佈了 c# sqlsugar,hisql,freesql orm框架全方位性能測試對比 sqlserver 性能測試 引起了很多爭議

聲明

首先我還是要做一下聲明,測的都是開源軟體,都是有開源協議的,而且測試源碼已經開放不存在有故意黑的主觀意圖,測試結果僅為博主的電腦的配置測試的結果為測試結果呈現,測試結果不為最終結果。如果有意見請文明反饋,不接受任何形式的威脅與刪博!!!

上次有部分網友說要對比一下efcore 和dapper的對比測試。那麼這次來一次國內外ORM進行測試對比。

不過有點遺憾的是 目前dapper 和efcore 官方包中沒有bulkcopy的功能(第三方插件有),因為官方沒有如果拿第三方插件來做bulkcopy的對比這樣有失公允,所以本次測試不測bulkcopy的,如果網友有比較認可的第三方插件那麼下一次安排上。

經過上一次的測試經驗 這次博主用兩臺電腦測試 兩臺電腦的配置如下

測試方案

  1. 因為不同的列插入的性能和時間肯定是有差別的本測試採用10列以下的數據集和50列的數據集進行測試
  2. 從5,50,100,500,1000,5000,10000,50000,100000 的數據階段進行對比測試
  3. 為了防止有人說一臺電腦測試不准,那麼這次使用兩台相同配置的電腦進行對比測試
  4. 測試的源碼 上傳到github
  5. 所有相關ORM的包都通過nuget安裝最新版本2022.6.28前發佈的
  6. 運行的測試程式都是在release環境運行
  7. 多個ORM同時運行,如果有影響那麼整體相互影響測試相對是公平的
  8. 每個ORM插入的是獨立的專用表,但結構是一模一樣(不存在表不同的問題)

測試源碼https://github.com/tansar/HiSqlTestDemo

測試結果

廢話不多說先看測試結果,以下測試結果對排名進行不同顏色區分以下是顏色區分的圖示

第一臺電腦測試結果

dapper efcore hisql sqlsugar freesql10列以下的常規數據插入測試結果

dapper efcore hisql sqlsugar freesql 10列以下的常規數據插入測試結果

這個測試結果有沒有讓人很意外 efcore說實在的在很多網友的印象中應該還算是不錯的,結果測試出來...(不會有人說我在黑efcore吧) 我只是基於這個測試結果來說

dapper efcore hisql sqlsugar freesql 50列常規數據插入測試結果

dapper efcore hisql sqlsugar freesql10列以下的常規數據插入測試結果

50列的 efcore 就更加明顯了 ,至於排名我請大家自己評判吧

好了, 這是第一臺測試電腦的結果

第二臺電腦測試結果

dapper efcore hisql sqlsugar freesql10列以下的常規數據插入測試結果

dapper efcore hisql sqlsugar freesql10列以下的常規數據插入測試結果

這臺電腦的配置排名相對於第一臺電腦有一點變化

dapper efcore hisql sqlsugar freesql 50列常規數據插入測試結果

dapper efcore hisql sqlsugar freesql 50列常規數據插入測試結果

第一臺電腦的測試明細截圖

第一臺電腦5條10列以下插入截圖

第一臺電腦50條10列以下插入截圖

第一臺電腦100條10列以下插入截圖

第一臺電腦500條10列以下插入截圖

第一臺電腦1000條10列以下插入截圖

第一臺電腦5000條10列以下插入截圖

第一臺電腦10000條10列以下插入截圖

第一臺電腦50000條10列以下插入截圖

第一臺電腦100000條10列以下插入截圖

第一臺電腦5條50列插入截圖

第一臺電腦50條50列插入截圖

第一臺電腦100條50列插入截圖

第一臺電腦500條50列插入截圖

第一臺電腦1000條50列插入截圖

第一臺電腦5000條50列插入截圖

第一臺電腦10000條50列插入截圖

第一臺電腦50000條50列插入截圖

第一臺電腦100000條50列插入截圖

第二臺電腦的測試明細截圖

第二臺電腦5條10列以下插入截圖

第二臺電腦50條10列以下插入截圖

第二臺電腦100條10列以下插入截圖

第二臺電腦500條10列以下插入截圖

第二臺電腦1000條10列以下插入截圖

第二臺電腦5000條10列以下插入截圖

第二臺電腦10000條10列以下插入截圖

第二臺電腦50000條10列以下插入截圖

第二臺電腦100000條10列以下插入截圖

第二臺電腦5條50列插入截圖

第二臺電腦50條50列插入截圖

第二臺電腦100條50列插入截圖

第二臺電腦500條50列插入截圖

第二臺電腦1000條50列插入截圖

第二臺電腦5000條50列插入截圖

第二臺電腦10000條50列插入截圖

第二臺電腦50000條50列插入截圖

第二臺電腦100000條50列插入截圖

測試電腦配置

兩台一模一樣配置電腦

第一臺電腦配置

記憶體,CPU 相關配置

sqlserver 版本信息

第二臺電腦配置

記憶體,CPU 相關配置

sqlserver 版本信息

總結

本測試結果僅作參考,在不同的電腦環境可能體現出來的測試結果可能有差異,但整體排名差不大


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • The DataStream API gets its name from the special DataStream class that is used to represent a collection of data in a Flink program. You can think of ...
  • 參考:(17條消息) 手把手搭建一個完整的javaweb項目(適合新手)_心歌技術的博客-CSDN博客_javaweb項目完整案例 補充項目結構的細節,進行了一點修改,修改為學生信息管理系統 以下是搭建過程: 1.項目結構 2.資料庫結構 3.代碼部分 com.dao.StuDao.java pac ...
  • 背景:[JAVA]前幾天面試超碧,聊到其接觸的項目,有抓取各類排行的實時數據,進行多國語言翻譯,抓取目前比較火的語言是php、go,由於目前工作使用JAVA,因此也模擬實現了一下抓取百度熱搜榜實時數據。 效果: 步驟: 1、定址【百度熱搜榜】https://top.baidu.com/board?t ...
  • java集合 學習資源:b站 人人都是程式員 《看動畫學java集合》 b站 韓順平 《java集合》 感謝二位的開源視頻,本博客為個人筆記,如有錯誤還請包涵 學習方法:推薦觀看視頻,自己用idea敲一遍然後debug一步步看,最後自己寫筆記和畫流程圖。 前 言 目的:為了方便和高效地存儲大批量的數 ...
  • Hi,大家好,我是Mic。 一個工作5年的粉絲,在簡歷上寫精通Kafka。 結果在面試的時候直接打臉。 面試官問他:“什麼是ISR,為什麼需要設計ISR” 然後他一臉懵逼的看著面試官. 下麵看看普通人和高手的回答。 普通人: ISR好像是Kafka裡面的一個機制吧。 為什麼要引入,應該是跟數據同步有 ...
  • runAsync 和 supplyAsync runAsync接受一個Runable的實現,無返回值 CompletableFuture.runAsync(()->System.out.println("無返回結果的運行")); supplyAsync接受一個Supplier的實現,有返回值 Com ...
  • 前言 🗯 嗨嘍,大家好呀~這裡是愛看美女的茜茜吶 水印這個詞相信大家已經不陌生了,畢竟現今天, 視頻有水印,圖片有水印,甚至一些電商平臺的展示圖也有水印 🍬 於是今天我就來分享一個python添加水印的方法~學會後你就不用自己去添加水印了, 只需要點一下運行~ python它自己自己給你弄好啦! ...
  • Sorted Set (ZSet) 數據結構 Sorted Set (ZSet), 即有序集合, 底層使用 壓縮列表(ziplist) 或者 跳躍表(skiplist) 使用 壓縮列表(ziplist) 當同時滿足下麵兩個條件時,使用 ziplist 存儲數據 元素個數少於128個 (zset-ma ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...