• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于WEB應(yīng)用的Access數(shù)據(jù)庫(kù)JET與ACE引擎性能分析

      2015-11-25 08:50:08
      河南科技 2015年18期
      關(guān)鍵詞:編程語(yǔ)言引擎速度

      張 翔

      (江西財(cái)經(jīng)職業(yè)學(xué)院,江西 九江 332000)

      Access全名為Microsoft Office Access,是一種由微軟出品的桌面數(shù)據(jù)庫(kù)管理軟件產(chǎn)品。雖然其定位不高,只適用于桌面級(jí)的中小型應(yīng)用場(chǎng)合,但是因?yàn)樗c風(fēng)靡世界的Office套件聯(lián)系緊密,并且可以輕而易舉地在套件內(nèi)實(shí)現(xiàn)數(shù)據(jù)互通而受到廣大非專(zhuān)業(yè)數(shù)據(jù)庫(kù)用戶的喜愛(ài)。另一方面,它最大文件體積2GB的限制和較為簡(jiǎn)單的數(shù)據(jù)管理功能使得許多專(zhuān)業(yè)用戶不屑一顧,并不像MSSQL或MYSQL那樣專(zhuān)業(yè),具有強(qiáng)大的負(fù)載能力和更大的數(shù)據(jù)承載,但是由于學(xué)習(xí)成本低、管理簡(jiǎn)單快速、具備親和力較強(qiáng)的可視化界面等一系列特點(diǎn),在互聯(lián)網(wǎng)WEB站點(diǎn)的數(shù)據(jù)庫(kù)中依然占有一席之地,尤其是在國(guó)內(nèi)使用WINDOWS SERVER系列操作系統(tǒng)的服務(wù)器中大行其道,至今仍然是快速開(kāi)發(fā)和部署輕量級(jí)WEB應(yīng)用的最佳選擇之一。

      JET(Joint Engine Technology)的全稱是“微軟Jet數(shù)據(jù)庫(kù)引擎”,它是Access的默認(rèn)數(shù)據(jù)庫(kù)引擎。雖然如今JET的地位已經(jīng)大不如前,并且微軟曾經(jīng)先后采用MSDE、SQL2005 Express等方案意圖取代JET,并且停止了更新JET,并且在最新的MDAC(MicrosoftData Access Components)中也不再包括JET[1]。JET并不能支持現(xiàn)在廣泛普及的64位系統(tǒng)和硬件,但是對(duì)于小型WEB應(yīng)用來(lái)說(shuō),在非64位的x86架構(gòu)Windows Server 2003中仍然是一個(gè)快捷且低成本的好選擇。

      ACE(Access Connectivity Engine)是微軟2007年以后隨Office套件同時(shí)發(fā)布的數(shù)據(jù)庫(kù)引擎,它完全向下兼容各種以前的JET版本,它使用了一種新的默認(rèn)文件格式(.accdb),但是也可以支持使用舊的文件格式(.mdb)。它的改進(jìn)包括訪問(wèn)復(fù)雜的數(shù)據(jù)類(lèi)型、多值字段、歷史跟蹤、附件備注等等,同時(shí)也支持和改進(jìn)了與Microsoft Windows SharePoint Services和Microsoft Office Outlook的集成。并且,ACE能夠良好地支持各種64位軟硬件環(huán)境,支持最新的Access2010以及Access2013。

      雖然桌面級(jí)WEB小型應(yīng)用并不大強(qiáng)調(diào)性能,但是能夠減少硬件負(fù)擔(dān)和建設(shè)成本是所有WEB應(yīng)用設(shè)計(jì)者的共同目標(biāo),并且國(guó)內(nèi)對(duì)新老引擎的性能分析在可查文獻(xiàn)中幾乎沒(méi)有,在知網(wǎng)(CNKI)中沒(méi)有任何完全相同或者近似的檢索結(jié)果,因此對(duì)于新老引擎在性能上的分析顯得非常有必要,大量的終端用戶需要了解,從mdb到accdb,從JET到ACE,對(duì)于WEB應(yīng)用來(lái)說(shuō),性能究竟是進(jìn)步了還是退步了,雖然用戶一般會(huì)認(rèn)為,新的產(chǎn)品理所當(dāng)然具有更優(yōu)秀的性能表現(xiàn)。

      1 測(cè)試條件與測(cè)試方法

      當(dāng)前互聯(lián)網(wǎng)后端編程語(yǔ)言種類(lèi)繁多,為增強(qiáng)測(cè)試結(jié)果的實(shí)用性和典型性,測(cè)試采用最流行的PHP(TIOBE數(shù)據(jù),2015年12月)[2]和在國(guó)內(nèi)最簡(jiǎn)易普及的ASP作為編程語(yǔ)言。

      ASP(Active Server Page)是動(dòng)態(tài)服務(wù)器頁(yè)面的英文縮寫(xiě),它是微軟公司為取代CGI腳本而開(kāi)發(fā)的一種語(yǔ)言,具有簡(jiǎn)單、快捷、學(xué)習(xí)成本低等特性,從1996年誕生以來(lái),因?yàn)榭梢允褂肑avaScript和VBScript這兩種易學(xué)的腳本編寫(xiě),被大量中小型網(wǎng)站采用,直至替代品ASP.NET出現(xiàn)以后逐步式微,但仍然在國(guó)內(nèi)擁有基數(shù)龐大的用戶。

      PHP(Hypertext Preprocessor)是一種開(kāi)源腳本語(yǔ)言。它吸收了多種語(yǔ)言的優(yōu)點(diǎn),利于學(xué)習(xí),被互聯(lián)網(wǎng)網(wǎng)站廣泛使用,具有速度快、免費(fèi)、跨平臺(tái)、易用等特點(diǎn),是編程語(yǔ)言活躍耀眼的常青之樹(shù)。

      當(dāng)前硬件發(fā)展水平較快,為凸顯測(cè)試結(jié)果,拉開(kāi)測(cè)試項(xiàng)目之間的差距,硬件環(huán)境不宜過(guò)高,故選擇較為陳舊的雙核服務(wù)器作為測(cè)試的硬件環(huán)境,CPU為XEON E5110 1.6G,RAM只有2G。操作系統(tǒng)為可以同時(shí)搭載ASP和PHP運(yùn)行環(huán)境的Windows Server 2003企業(yè)版,以IIS6.0作為ASP服務(wù)端軟件,APACHE作為PHP5.2服務(wù)端軟件。

      因ACCESS版本眾多,在ACCESS 2003時(shí)數(shù)據(jù)格式為.MDB,數(shù)據(jù)引擎為Jet4.0,ACCESSS 2007推出后數(shù)據(jù)格式為.ACCDB,數(shù)據(jù)引擎為ACE12.0。另一方面,Jet驅(qū)動(dòng)不支持.ACCDB格式,但ACE驅(qū)動(dòng)可以兼容.MDB格式[3],所以本測(cè)試的數(shù)據(jù)庫(kù)及引擎采用MDB+JET,MDB+ACE,ACCDB+ACE三種方式進(jìn)行組合。測(cè)試用數(shù)據(jù)庫(kù)均在ACCESS2013的環(huán)境下生成,為模擬真實(shí)的應(yīng)用場(chǎng)景和環(huán)境,數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)內(nèi)容全部為真實(shí)的學(xué)生考試報(bào)名信息,其數(shù)據(jù)表字段包括:ID、用戶名、性別、身份證號(hào)碼、考生號(hào)、電話、手機(jī)、QQ、第一志愿、第二志愿、服從調(diào)劑、地址、學(xué)校、簡(jiǎn)介、郵件地址。

      測(cè)試程序:同時(shí)采用ASP和PHP編寫(xiě),在UML表現(xiàn)上的流程完全一致,且為避免各種差異影響,使用ADO連接數(shù)據(jù)庫(kù)對(duì)象,再建立記錄集對(duì)象以及計(jì)時(shí)器,然后讀取遍歷數(shù)據(jù)庫(kù)中的10 000條記錄并在每條記錄讀取時(shí)遍歷15個(gè)字段中的每個(gè)字段一次,最后結(jié)束計(jì)時(shí)并輸出耗時(shí)時(shí)間。程序的具體流程分為如下步驟:①建立ADOBE.Connection對(duì)象;②建立ADOBE.Recordset對(duì)象;③建立Timer;④判斷是否尾記錄,若非尾記錄則遍歷Fields.Value,完成后執(zhí)行Rs.movenext;⑤結(jié)束Timer;⑥輸出耗時(shí)。

      2 測(cè)試結(jié)果

      經(jīng)測(cè)試,Access數(shù)據(jù)庫(kù)在PHP環(huán)境下,使用Jet和ACE兩種不同引擎進(jìn)行WEB訪問(wèn)模擬查詢的結(jié)果如下圖所示:

      測(cè)試使用的時(shí)間單位為千分之一秒,即毫秒,時(shí)間越長(zhǎng)則處理查詢消耗的時(shí)間越長(zhǎng),即可以認(rèn)為是處理越慢,表現(xiàn)越差。MDB+JET平均處理時(shí)間為2 168.75ms,MDB+ACE的平均處理時(shí)間為2 240.625ms,MDB+ACCDB的平均處理時(shí)間為2 221.09375ms。

      圖1

      Access數(shù)據(jù)庫(kù)在ASP環(huán)境下,使用Jet和ACE兩種不同引擎進(jìn)行WEB訪問(wèn)模擬查詢的結(jié)果如下圖表所示:

      圖2

      在ASP環(huán)境下,MDB+JET平均處理時(shí)間為1 137.5ms,MDB+ACE的平均處理時(shí)間為1 289.844ms,MDB+ACCDB的平均處理時(shí)間為1 281.25ms。

      3 結(jié)論

      測(cè)試的結(jié)果說(shuō)明:①Access數(shù)據(jù)庫(kù)在ASP中的表現(xiàn)比在PHP中的表現(xiàn)更好。雖然一般認(rèn)為PHP遠(yuǎn)比ASP更快更具備效率,但在各自的數(shù)據(jù)庫(kù)系統(tǒng)配合下,例如MSSQL+ASP對(duì)比MYSQL+PHP。②JET引擎配合舊的MDB格式數(shù)據(jù)庫(kù)在速度方面表現(xiàn)最佳。相反,用MDB格式搭配新的ACE引擎,在速度和穩(wěn)定上的表現(xiàn),無(wú)論在ASP中還是在PHP中,表現(xiàn)數(shù)據(jù)都是最差的。③ACE引擎配合ACCDB格式數(shù)據(jù)庫(kù)表現(xiàn)最穩(wěn)定。雖然在速度上不及舊的格式和舊驅(qū)動(dòng)速度快,但是速度平穩(wěn),波動(dòng)范圍較小,比新老組合搭配更加具有效率,比舊組合更具備穩(wěn)定性,具有適合WEB應(yīng)用的獨(dú)特優(yōu)勢(shì)。

      最后,本文的分析缺陷也是客觀存在的,一是測(cè)試數(shù)據(jù)浮動(dòng)較大,在同一硬件條件下只能做到同一批次測(cè)試基本數(shù)據(jù)相符,在不同應(yīng)用場(chǎng)合中可能會(huì)有不一致的表現(xiàn)或未可知;二是在安裝ACE驅(qū)動(dòng)前后,舊格式數(shù)據(jù)庫(kù)與引擎的速度表現(xiàn)有區(qū)別,驅(qū)動(dòng)安裝之前大約完成一次測(cè)試的時(shí)間平均在900~1000ms之間,比驅(qū)動(dòng)安裝后似乎更加迅速,這一點(diǎn)有待詳細(xì)測(cè)試和驗(yàn)證;三是互聯(lián)網(wǎng)環(huán)境對(duì)于測(cè)試有影響,隨機(jī)產(chǎn)生的訪問(wèn)會(huì)對(duì)服務(wù)器性能造成影響。但是,總體而言,本文的分析證實(shí)了ACE引擎下ACCESS數(shù)據(jù)庫(kù)訪問(wèn)性能的下降,舊的MDB格式配合JET引擎具備更佳的速度表現(xiàn),只是在穩(wěn)定性上略輸于新的ACE引擎組合。

      [1]Stack Overflow.Difference between Microsoft.Jet.OleDb and Microsoft.Ace.OleDb[EB/OL].Stack Exchange.http://stackoverflow.com/questions/14401729/difference-between-microsoft-je t-oledb-and-microsoft-ace-oledb,2014-3-18.

      [2]網(wǎng)易數(shù)碼.TIOBE 2015年12月編程語(yǔ)言排行榜.[EB/OL].http://digi.163.com/15/1205/23/BA3VIO2K00162OUT.html,2015-12-5.

      [3]Microsoft Technet.Use ACE Drivers and PowerShell to Talk to Access and Excel[EB/OL].Hey,Scripting Guy!Blog.http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/04/se-ace-drivers-and-powershell-to-talk-to-access-and-excel.aspx,2011-5-4.

      猜你喜歡
      編程語(yǔ)言引擎速度
      行駛速度
      壓力-體積轉(zhuǎn)換在CFC編程語(yǔ)言中的實(shí)現(xiàn)解析
      速度
      Java編程語(yǔ)言的特點(diǎn)與應(yīng)用
      淺談不同編程語(yǔ)言對(duì)計(jì)算機(jī)軟件開(kāi)發(fā)的影響
      電子制作(2018年1期)2018-04-04 01:48:36
      藍(lán)谷: “涉藍(lán)”新引擎
      商周刊(2017年22期)2017-11-09 05:08:31
      比速度更速度——“光腦”來(lái)了
      面向?qū)ο骔eb開(kāi)發(fā)編程語(yǔ)言的的評(píng)估方法
      無(wú)形的引擎
      河南電力(2015年5期)2015-06-08 06:01:46
      基于Cocos2d引擎的PuzzleGame開(kāi)發(fā)
      阿坝| 喀喇沁旗| 延庆县| 罗山县| 松滋市| 邻水| 乃东县| 拉萨市| 龙井市| 怀安县| 西宁市| 安阳县| 吴江市| 盐津县| 婺源县| 巴林左旗| 新竹县| 融水| 平顶山市| 江津市| 阿鲁科尔沁旗| 塘沽区| 中西区| 抚顺市| 太和县| 乌兰浩特市| 台南市| 新化县| 牡丹江市| 嘉鱼县| 栾城县| 奉贤区| 依兰县| 新宾| 渭源县| 新巴尔虎左旗| 密山市| 建德市| 宁陕县| 碌曲县| 筠连县|