<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    afunms

    My Software,My Dream—Forge a more perfect NMS product.

    MySQL和PostgreSQL的優(yōu)劣較量

    轉:http://news.csdn.net/n/20060801/93169.html

    這篇文章中,我們選用MySQL 4.0.2-alpha與PostgreSQL 7.2進行比較,因為MySQL 4.0.2-alpha開始支持事務的概念,因此這樣的比較對于MySQL應該較為有利。
      我們這樣的比較不想僅僅成為一份性能測試報告,因為至少從我個人來看,對于一個數(shù)據(jù)庫,穩(wěn)定性和速度并不能代表一切。對于一個成熟的數(shù)據(jù)庫,穩(wěn)定性肯定會日益提供。而隨著硬件性能的飛速提高,速度也不再是什么太大的問題。
      
      一、兩者的共同優(yōu)勢
      這兩個產品都屬于開放源碼的一員,性能和功能都在高速地提高和增強。MySQL AB的人們和PostgreSQL的開發(fā)者們都在盡可能地把各自的數(shù)據(jù)庫改得越來越好,所以對于任何商業(yè)數(shù)據(jù)庫使用其中的任何一個都不能算是錯誤的選擇。
      
      二、兩者不同的背景
      MySQL的背后是一個成熟的商業(yè)公司,而PostgreSQL的背后是一個龐大的志愿開發(fā)組。這使得MySQL的開發(fā)過程更為慎重,而PostgreSQL的反應更為迅速。
      這樣的兩種背景直接導致了各自固有的優(yōu)點和缺點。
      
      三、MySQL的主要優(yōu)點
      1、首先是速度,MySQL通常要比PostgreSQL快得多。MySQL自已也宣稱速度是他們追求的主要目標之一,基于這個原因,MySQL在以前的文檔中也曾經(jīng)說過并不準備支持事務和觸發(fā)器。但是在最新的文檔中,我們看到MySQL 4.0.2-alpha已經(jīng)開始支持事務,而且在MySQL的TODO中,對觸發(fā)器、約束這樣的注定會降低速度的功能也列入了日程。但是,我們仍然有理由相信,MySQL將有可能一直保持速度的優(yōu)勢。
      2、MySQL比PostgreSQL更流行,流行對于一個商業(yè)軟件來說,也是一個很重要的指標,流行意味著更多的用戶,意味著經(jīng)受了更多的考驗,意味著更好的商業(yè)支持、意味著更多、更完善的文檔資料。
      3、與PostgreSQL相比,MySQL更適宜在Windows環(huán)境下運行。MySQL作為一個本地的Windows應用程序運行(在NT/Win2000/WinXP下,是一個服務),而PostgreSQL是運行在Cygwin模擬環(huán)境下。PostgreSQL在Windows下運行沒有MySQL穩(wěn)定,應該是可以想象的。
      4、MySQL使用了線程,而PostgreSQL使用的是進程。在不同線程之間的環(huán)境轉換和訪問公用的存儲區(qū)域顯然要比在不同的進程之間要快得多。
      5、MySQL可以適應24/7運行。在絕大多數(shù)情況下,你不需要為MySQL運行任何清除程序。PostgreSQL目前仍不完全適應24/7運行,這是因為你必須每隔一段時間運行一次VACUUM。
      6、MySQL在權限系統(tǒng)上比PostgreSQL某些方面更為完善。PostgreSQL只支持對于每一個用戶在一個數(shù)據(jù)庫上或一個數(shù)據(jù)表上的INSERT、SELECT和UPDATE/DELETE的授權,而MySQL允許你定義一整套的不同的數(shù)據(jù)級、表級和列級的權限。對于列級的權限,PostgreSQL可以通過建立視圖,并確定視圖的權限來彌補。MySQL還允許你指定基于主機的權限,這對于目前的PostgreSQL是無法實現(xiàn)的,但是在很多時候,這是有用的。
      7、由于MySQL 4.0.2-alpha開始支持事務的概念,因此事務對于MySQL不再僅僅成為劣勢。相反,因為MySQL保留無事務的表類型。這就為用戶提供了更多的選擇。
      8、MySQL的MERGE表提供了一個獨特管理多個表的方法。
      9、MySQL的myisampack可以對只讀表進行壓縮,此后仍然可以直接訪問該表中的行。
      
      四、PostgreSQL的主要優(yōu)點:
      1、對事務的支持與MySQL相比,經(jīng)歷了更為徹底的測試。對于一個嚴肅的商業(yè)應用來說,事務的支持是不可或缺的。
      2、MySQL對于無事務的MyISAM表。采用表鎖定,一個長時間運行的查詢很可能會長時間地阻礙對表的更新。而PostgreSQL不存在這樣的問題。
      3、PostgreSQL支持存儲過程,而目前MySQL不支持,對于一個嚴肅的商業(yè)應用來說,作為數(shù)據(jù)庫本身,有眾多的商業(yè)邏輯的存在,此時使用存儲過程可以在較少地增加數(shù)據(jù)庫服務器的負擔的前提下,對這樣的商業(yè)邏輯進行封裝,并可以利用數(shù)據(jù)庫服務器本身的內在機制對存儲過程的執(zhí)行進行優(yōu)化。此外存儲過程的存在也避免了在網(wǎng)絡上大量的原始的SQL語句的傳輸,這樣的優(yōu)勢是顯而易見的。
      4、對視圖的支持,視圖的存在同樣可以最大限度地利用數(shù)據(jù)庫服務器內在的優(yōu)化機制。而且對于視圖權限的合理使用,事實上可以提供行級別的權限,這是MySQL的權限系統(tǒng)所無法實現(xiàn)的。
      5、對觸發(fā)器的支持,觸發(fā)器的存在不可避免的會影響數(shù)據(jù)庫運行的效率,但是與此同時,觸發(fā)器的存在也有利于對商業(yè)邏輯的封裝,可以減少應用程序中對同一商業(yè)邏輯的重復控制。合理地使用觸發(fā)器也有利于保證數(shù)據(jù)的完整性。
      6、對約束的支持。約束的作用更多地表現(xiàn)在對數(shù)據(jù)完整性的保證上,合理地使用約束,也可以減少編程的工作量。
      7、對子查詢的支持。雖然在很多情況下在SQL語句中使用子查詢效率低下,而且絕大多數(shù)情況下可以使用帶條件的多表連接來替代子查詢,但是子查詢的存在在很多時候仍然不可避免。而且使用子查詢的SQL語句與使用帶條件的多表連接相比具有更高的程序可讀性。
      8、支持R-trees這樣可擴展的索引類型,可以更方便地處理一些特殊數(shù)據(jù)。
      9、PostgreSQL可以更方便地使用UDF(用戶定義函數(shù))進行擴展。
      
      五、那么我究竟應該使用MySQL還是PostgreSQL
      這個問題很難說得清,而且事實上除了MySQL和PostgreSQL外,使用Oracle、Sybase、Informix等也是明智的選擇。如何你確定只在MySQL和PostgreSQL中進行選擇,以下規(guī)則總是有效的。
      1、如果你的操作系統(tǒng)是Windows,你應該使用MySQL。
      2、如果你對數(shù)據(jù)庫并不了十分了解,甚至不知道事務、存儲過程等究竟是什么,你應該使用MySQL。
      3、如果你的應用對數(shù)據(jù)的完整性和嚴肅性要求不高,但是追求處理的高速度。例如是一個論壇和社區(qū),你應該使用MySQL。
      4、你的應用是一個嚴肅的商業(yè)應用,對數(shù)據(jù)完整性要求很高。而且你希望對一些商業(yè)數(shù)據(jù)邏輯進行很好的封裝,例如是一個網(wǎng)上銀行,你應該使用PostgreSQL。
      5、你的應用處理的是地理數(shù)據(jù),由于R-TREES的存在,你應該使用PostgreSQL。
      6、你是一個數(shù)據(jù)庫內核的狂熱愛好者,你甚至希望擁有你自己版本的數(shù)據(jù)庫,毫無疑問,你必須使用PostgreSQL,沒準下一個PostgreSQL版本中某一個模塊的作者就是你。
      
        六、后記
      以上只是作者從自己的理解盡量客觀公正地評價MySQL和PostgreSQL的優(yōu)劣。其中的帶有傾向性的意見只代表作者個人觀點,有關這兩個數(shù)據(jù)庫,歡迎廣大朋友提出自己的看法。


     

    posted on 2008-09-28 21:05 afunms 閱讀(172) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     

    My Links

    News

    留言簿(18)

    隨筆檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 亚洲成色在线影院| 另类小说亚洲色图| 免费国产叼嘿视频大全网站| 无码囯产精品一区二区免费| 亚洲人精品午夜射精日韩| 美女网站在线观看视频免费的| 无码日韩精品一区二区免费暖暖| 亚洲精品一品区二品区三品区 | 亚洲中文精品久久久久久不卡| h片在线免费观看| 久久亚洲欧洲国产综合| 亚洲AV无码成人专区| 一级看片免费视频| 天天天欲色欲色WWW免费| 亚洲精品无码少妇30P| 青青草无码免费一二三区| 亚洲日本一区二区| 在线a级毛片免费视频| 亚洲精品无AMM毛片| 国产成人福利免费视频| 亚洲中文字幕无码久久2020| 国产在线ts人妖免费视频| 一级黄色免费毛片| 久久久亚洲精品无码| av无码国产在线看免费网站 | 乱人伦中文视频在线观看免费| 亚洲av无码天堂一区二区三区 | 久久精品国产亚洲av麻豆图片| 手机在线毛片免费播放| 色www免费视频| 国产亚洲精品xxx| 97性无码区免费| 免费看黄网站在线看| 午夜免费不卡毛片完整版| 羞羞漫画页面免费入口欢迎你| 久久久久亚洲AV无码专区网站| 日韩精品人妻系列无码专区免费| 久久精品国产亚洲αv忘忧草 | 免费VA在线观看无码| 亚洲VA中文字幕无码一二三区 | 中文字幕免费视频精品一|