亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

關(guān)于若干數(shù)據(jù)庫數(shù)據(jù)插入性能的對比分析

 更新時間:2011年10月18日 10:25:33   作者:  
前幾天,苦惱于到底使用哪一種本地數(shù)據(jù)庫來存儲部分數(shù)據(jù),于是決定做一個數(shù)據(jù)插入測試進行求證
本地數(shù)據(jù)庫接觸不多,最早用過Access,但現(xiàn)在SQLite功能更加強大--而且,說實在的我不喜歡Access,連帶著不喜歡SqlServer,只要一看到滿眼的@號go號我就頭暈不止;更何況有一個我感覺非常致命的問題:分頁太麻煩!遠不如mySql/SQLite中的limit或者Oracle中的rownum來得痛快。

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

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

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

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

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

相關(guān)文章

  • Navicat使用快速入門教程

    Navicat使用快速入門教程

    這篇文章主要介紹了Navicat使用快速入門教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 數(shù)據(jù)庫連接池Druid與Hikari對比詳解

    數(shù)據(jù)庫連接池Druid與Hikari對比詳解

    這篇文章主要為大家介紹了數(shù)據(jù)庫連接池Druid與Hikari對比詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 記一次SQL優(yōu)化的實戰(zhàn)記錄

    記一次SQL優(yōu)化的實戰(zhàn)記錄

    作為開發(fā)人員,我們免不了與sql打交道,有些sql可能在業(yè)務(wù)的最開始,執(zhí)行是毫無問題的,但是隨著業(yè)務(wù)量的提升以及業(yè)務(wù)復(fù)雜度的加 深,可能之前的sql就會需要優(yōu)化了,下面這篇文章主要給大家介紹了關(guān)于一次SQL優(yōu)化的實戰(zhàn)記錄,需要的朋友可以參考下
    2022-07-07
  • SQL中一些小巧但常用的關(guān)鍵字小結(jié)

    SQL中一些小巧但常用的關(guān)鍵字小結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于SQL中一些小巧但常用的關(guān)鍵字,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • SQL 隨機查詢 包括(sqlserver,mysql,access等)

    SQL 隨機查詢 包括(sqlserver,mysql,access等)

    SQL 隨機查詢 包括(sqlserver,mysql,access等),需要的朋友可以參考下,目的一般是為了隨機讀取數(shù)據(jù)庫中的記錄。
    2009-10-10
  • MySQL與Oracle SQL語言差異比較一覽

    MySQL與Oracle SQL語言差異比較一覽

    這篇文章主要介紹了MySQL與Oracle SQL語言差異比較一覽,需要的朋友可以參考下
    2017-04-04
  • 恢復(fù) SQL 被注入后的數(shù)據(jù)代碼

    恢復(fù) SQL 被注入后的數(shù)據(jù)代碼

    當數(shù)據(jù)庫別批量注入掛馬后,需要批量替換掉,可以參考下面的代碼。
    2009-02-02
  • sql注入之手工注入示例詳解

    sql注入之手工注入示例詳解

    之前和大家分享了基本的SQL注入的知識,這一篇講的就是在得知注入點的之后,如何有效地進行脫褲。文章通過示例介紹的很詳細,對大家的理解和學習很有幫助,下面來一起看看吧。
    2016-09-09
  • Select data from an Excel sheet in MSSQL

    Select data from an Excel sheet in MSSQL

    Select data from an Excel sheet in MSSQL...
    2007-06-06
  • Linux下開啟和配置OpenGauss數(shù)據(jù)庫遠程連接的教程詳解

    Linux下開啟和配置OpenGauss數(shù)據(jù)庫遠程連接的教程詳解

    openGauss是一款開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),采用木蘭寬松許可證v2發(fā)行,本文主要為大家介紹了Linux系統(tǒng)中如何開啟和配置OpenGauss數(shù)據(jù)庫的遠程連接,需要的小伙伴可以參考下
    2023-12-12

最新評論