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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...