在這篇文章中,我們選用MySQL 4.0.2-alpha與PostgreSQL 7.2進(jìn)行比較,因?yàn)镸ySQL 4.0.2-alpha開始支持事務(wù)的概念,因此這樣的比較對于MySQL應(yīng)該較為有利。
我們這樣的比較不想僅僅成為一份性能測試報(bào)告,因?yàn)橹辽購奈覀€(gè)人來看,對于一個(gè)數(shù)據(jù)庫,穩(wěn)定性和速度并不能代表一切。對于一個(gè)成熟的數(shù)據(jù)庫,穩(wěn)定性肯定會日益提供。而隨著硬件性能的飛速提高,速度也不再是什么太大的問題。
二、兩者的共同優(yōu)勢
這兩個(gè)產(chǎn)品都屬于開放源碼的一員,性能和功能都在高速地提高和增強(qiáng)。MySQL和PostgreSQL的開發(fā)者們都在盡可能地把各自的數(shù)據(jù)庫改得越來越好,所以對于任何商業(yè)數(shù)據(jù)庫使用其中的任何一個(gè)都不能算是錯(cuò)誤的選擇。
三、兩者不同的背景
MySQL的背后是一個(gè)成熟的商業(yè)公司,而PostgreSQL的背后是一個(gè)龐大的志愿開發(fā)組。這使得MySQL的開發(fā)過程更為慎重,而PostgreSQL的反應(yīng)更為迅速。這樣的兩種背景直接導(dǎo)致了各自固有的優(yōu)點(diǎn)和缺點(diǎn)。
四、MySQL的主要優(yōu)點(diǎn)
1、首先是速度,MySQL通常要比PostgreSQL快得多。MySQL自已也宣稱速度是他們追求的主要目標(biāo)之一,基于這個(gè)原因,MySQL在以前的文檔中也曾經(jīng)說過并不準(zhǔn)備支持事務(wù)和觸發(fā)器。但是在最新的文檔中,我們看到MySQL 4.0.2-alpha已經(jīng)開始支持事務(wù),而且在MySQL的TODO中,對觸發(fā)器、約束這樣的注定會降低速度的功能也列入了日程。但是,我們?nèi)匀挥欣碛上嘈?,MySQL將有可能一直保持速度的優(yōu)勢。
2、MySQL比PostgreSQL更流行,流行對于一個(gè)商業(yè)軟件來說,也是一個(gè)很重要的指標(biāo),流行意味著更多的用戶,意味著經(jīng)受了更多的考驗(yàn),意味著更好的商業(yè)支持、意味著更多、更完善的文檔資料。
3、與PostgreSQL相比,MySQL更適宜在Windows環(huán)境下運(yùn)行。MySQL作為一個(gè)本地的Windows應(yīng)用程序運(yùn)行(在NT/Win2000/WinXP下,是一個(gè)服務(wù)),而PostgreSQL是運(yùn)行在Cygwin模擬環(huán)境下。PostgreSQL在Windows下運(yùn)行沒有MySQL穩(wěn)定,應(yīng)該是可以想象的。
4、MySQL使用了線程,而PostgreSQL使用的是進(jìn)程。在不同線程之間的環(huán)境轉(zhuǎn)換和訪問公用的存儲區(qū)域顯然要比在不同的進(jìn)程之間要快得多。
5、MySQL可以適應(yīng)24/7運(yùn)行。在絕大多數(shù)情況下,你不需要為MySQL運(yùn)行任何清除程序。PostgreSQL目前仍不完全適應(yīng)24/7運(yùn)行,這是因?yàn)槟惚仨毭扛粢欢螘r(shí)間運(yùn)行一次VACUUM。
6、MySQL在權(quán)限系統(tǒng)上比PostgreSQL某些方面更為完善。PostgreSQL只支持對于每一個(gè)用戶在一個(gè)數(shù)據(jù)庫上或一個(gè)數(shù)據(jù)表上的INSERT、SELECT和UPDATE/DELETE的授權(quán),而MySQL允許你定義一整套的不同的數(shù)據(jù)級、表級和列級的權(quán)限。對于列級的權(quán)限,PostgreSQL可以通過建立視圖,并確定視圖的權(quán)限來彌補(bǔ)。MySQL還允許你指定基于主機(jī)的權(quán)限,這對于目前的PostgreSQL是無法實(shí)現(xiàn)的,但是在很多時(shí)候,這是有用的。
7、由于MySQL 4.0.2-alpha開始支持事務(wù)的概念,因此事務(wù)對于MySQL不再僅僅成為劣勢。相反,因?yàn)镸ySQL保留無事務(wù)的表類型。這就為用戶提供了更多的選擇。
8、MySQL的MERGE表提供了一個(gè)獨(dú)特管理多個(gè)表的方法。
9、MySQL的myisampack可以對只讀表進(jìn)行壓縮,此后仍然可以直接訪問該表中的行。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com