婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 關于若干數據庫數據插入性能的對比分析

關于若干數據庫數據插入性能的對比分析

熱門標簽:電話機器人怎么看余額 西安電話自動外呼系統 城市地圖標志怎么標注 合肥crm外呼系統加盟 美國地圖標注軟件下載 漯河電銷回撥外呼系統 長沙外呼系統平臺 怎么修改高德地圖標注 硅基電話機器人官網
本地數據庫接觸不多,最早用過Access,但現在SQLite功能更加強大--而且,說實在的我不喜歡Access,連帶著不喜歡SqlServer,只要一看到滿眼的@號go號我就頭暈不止;更何況有一個我感覺非常致命的問題:分頁太麻煩!遠不如mySql/SQLite中的limit或者Oracle中的rownum來得痛快。

平時基本使用Oracle,對它的性能知根知底了;mySql近年來混得風生水起,想必有過人之處,也一并納入測試范圍了。

另外,Access現在有2007版,不知道和2003版在性能上有什么區別沒有?特意分開進行測試。

測試環境如下:
服務器:本機(筆記本,I3 370,8G內存)
操作系統:windows 7 x64
語言環境:C#,使用控制臺程序測試。
虛擬機:安裝SqlServer2008,2CPU,3G內存。
數據庫:Oracle11g(本機數據庫)
SQLite(本機文件)
MySql(版本5的綠色版)
SqlServer(不想在本機安裝2008版本,本來想使用本機的學習版,但死活不行,只好在本機虛擬機上安裝一個2008版本,測試性能有所下降,但也只好如此了)
Access(2003版)
Access(2007版)
測試方法:先生成10000條記錄(每條記錄6個字段),插入數據前先清除原有數據;
數據插入分為事務性寫入(啟動事務,逐條插入后提交)及非事務性寫入(不啟動事務,逐條插入)。
SqlServer數據庫在本地虛擬機的數據庫中,數據不太準確;為消除網絡操作影響,將代碼移到虛擬中直接執行一次。

測試過程中發現了若干有趣的問題:
1.64位操作系統下,Access無法在編譯為AnyCpu的程序下執行,必須編譯為x86方可正常操作。(如果是網站,必須將池設置為啟用32位兼容)
2.SQLite有64位版本的DLL,可以正常在64位環境(控制臺程序)下運行;但很奇怪的是,如果是網站,則使用64位DLL反而無法正常運行,必須使用32位版本的DLL,并且將IIS的池設置為啟用32位兼容才可正常運行。
3.Access的2003版本與2007版本的數據庫連接串是不相同的,如下:
2003:@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\xxx\test.mdb";
2007:@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\xxx\test.accdb";
測試結果如下:
數據庫類別 插入數量 本地事務(毫秒) 本地無事務(毫秒) 說明
每條記錄耗時 每秒插入條數 每條記錄耗時 每秒插入條數
Oracle 10000 0.23 4300 0.9 1103 本地數據庫
Sqlite 10000 0.0998 10016 6.86 146 本地數據庫
MySql 10000 0.2574 3884 4.132 241 本地數據庫
Sql Server 10000 0.42 2380 1.52 654 遠程數據庫
Sql Server 10000 0.413 2418 1.433 697 本地數據庫,2CPU,2G內存
代碼直接在虛擬機運行
Access2003 10000 0.6 1664 46.87 21.33 本地數據庫
Access2007 10000 0.73 1369 47.57 21.02 本地數據庫
結果很有意思:
1.SQLite的事務插入速度最快,達到10000條每秒,但非事務性的插入速度就一般了。
2.Oracle作為數據庫的老大,事務插入速度僅次于SQLite,但非事務性的插入速度居首。
3.可憐Access,不試不知道,一試嚇一跳,事務插入最慢,非事務插入更慢;本來對Access2007還有點期待的,沒想到它比2003版本的數據還差。
4.mySql還真是不賴,事務插入的性能僅次于Oracle,非事務性的插入沒有那么強,但也還不錯。
從數據來看,發覺一個比較有規律的現象:大型數據庫與小型數據庫、本地型數據庫的區別,不在于事務性插入性能的高低,而在于非事務性插入性能的高低。Oracle最強,每秒達到1000條以上;其次是SqlServer,也有700條每秒;mySql相比之下就差多了,只達到240條每秒左右,這個性能整整差了一個等級;比較意外的是SQLite,非事務性插入性能雖然比mySql差一點,但也相差不大(不是數量級的差別);最糟糕的是Access,非事務數據插入性能慘不忍睹,和SQLite相比,整整差了一個數量級。

由上可見,如果選擇本地數據庫,SQLite應該是首選。而且在應用中還應該注意,盡可能把數據集中起來進行事務性數據寫入,如此可以大大提升該數據庫的性能。

標簽:廣西 玉溪 文山 濟源 瀘州 吉林 商洛 撫順

巨人網絡通訊聲明:本文標題《關于若干數據庫數據插入性能的對比分析》,本文關鍵詞  關于,若干,數據庫,數據,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《關于若干數據庫數據插入性能的對比分析》相關的同類信息!
  • 本頁收集關于關于若干數據庫數據插入性能的對比分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 青海省| 焉耆| 巴林右旗| 大洼县| 南昌市| 翼城县| 五大连池市| 师宗县| 莱阳市| 德州市| 疏勒县| 西吉县| 沁阳市| 陵川县| 台江县| 呼和浩特市| 永年县| 永善县| 万盛区| 缙云县| 涪陵区| 韶关市| 昌宁县| 九寨沟县| 东兰县| 仲巴县| 北流市| 乐都县| 赣州市| 桐乡市| 石林| 邹城市| 龙门县| 翁牛特旗| 台湾省| 吴江市| 福泉市| 巴青县| 连云港市| 确山县| 内江市|