亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > PostgreSQL > 正文

簡評MySQL和PostgreSQL優劣

2020-03-12 23:54:14
字體:
來源:轉載
供稿:網友

一、前言

前一段時間,曾經翻譯過一篇將《你的網站從MySQL改為PostgreSQL》,其實當初我更感興趣的是一個應用程序的后臺數據庫從MySQL轉為PostgreSQL的具體操作,并沒有關心MySQL和PostgreSQL的優劣,沒想到反應出乎意料的大,因此我也就覺得有寫這篇文章的必要了。

在這篇文章中,我們選用MySQL 4.0.2-alpha與PostgreSQL 7.2進行比較,因為MySQL 4.0.2-alpha開始支持事務的概念,因此這樣的比較對于MySQL應該較為有利。

我們這樣的比較不想僅僅成為一份性能測試報告,因為至少從我個人來看,對于一個數據庫,穩定性和速度并不能代表一切。對于一個成熟的數據庫,穩定性肯定會日益提供。而隨著硬件性能的飛速提高,速度也不再是什么太大的問題。

二、兩者的共同優勢

這兩個產品都屬于開放源碼的一員,性能和功能都在高速地提高和增強。MySQL AB的人們和PostgreSQL的開發者們都在盡可能地把各自的數據庫改得越來越好,所以對于任何商業數據庫使用其中的任何一個都不能算是錯誤的選擇。

三、兩者不同的背景

MySQL的背后是一個成熟的商業公司,而PostgreSQL的背后是一個龐大的志愿開發組。這使得MySQL的開發過程更為慎重,而PostgreSQL的反應更為迅速。這樣的兩種背景直接導致了各自固有的優點和缺點。

四、MySQL的主要優點

1、首先是速度,MySQL通常要比PostgreSQL快得多。MySQL自已也宣稱速度是他們追求的主要目標之一,基于這個原因,MySQL在以前的文檔中也曾經說過并不準備支持事務和觸發器。但是在最新的文檔中,我們看到MySQL 4.0.2-alpha已經開始支持事務,而且在MySQL的TODO中,對觸發器、約束這樣的注定會降低速度的功能也列入了日程。但是,我們仍然有理由相信,MySQL將有可能一直保持速度的優勢。

2、MySQL比PostgreSQL更流行,流行對于一個商業軟件來說,也是一個很重要的指標,流行意味著更多的用戶,意味著經受了更多的考驗,意味著更好的商業支持、意味著更多、更完善的文檔資料。

3、與PostgreSQL相比,MySQL更適宜在Windows環境下運行。MySQL作為一個本地的Windows應用程序運行(在NT/Win2000/WinXP下,是一個服務),而PostgreSQL是運行在Cygwin模擬環境下。PostgreSQL在Windows下運行沒有MySQL穩定,應該是可以想象的。

4、MySQL使用了線程,而PostgreSQL使用的是進程。在不同線程之間的環境轉換和訪問公用的存儲區域顯然要比在不同的進程之間要快得多。

5、MySQL可以適應24/7運行。在絕大多數情況下,你不需要為MySQL運行任何清除程序。PostgreSQL目前仍不完全適應24/7運行,這是因為你必須每隔一段時間運行一次VACUUM。

6、MySQL在權限系統上比PostgreSQL某些方面更為完善。PostgreSQL只支持對于每一個用戶在一個數據庫上或一個數據表上的INSERT、SELECT和UPDATE/DELETE的授權,而MySQL允許你定義一整套的不同的數據級、表級和列級的權限。對于列級的權限,PostgreSQL可以通過建立視圖,并確定視圖的權限來彌補。MySQL還允許你指定基于主機的權限,這對于目前的PostgreSQL是無法實現的,但是在很多時候,這是有用的。

7、由于MySQL 4.0.2-alpha開始支持事務的概念,因此事務對于MySQL不再僅僅成為劣勢。相反,因為MySQL保留無事務的表類型。這就為用戶提供了更多的選擇。

8、MySQL的MERGE表提供了一個獨特管理多個表的方法。

9、MySQL的myisampack可以對只讀表進行壓縮,此后仍然可以直接訪問該表中的行。

五、PostgreSQL的主要優點:

1、對事務的支持與MySQL相比,經歷了更為徹底的測試。對于一個嚴肅的商業應用來說,事務的支持是不可或缺的。

2、MySQL對于無事務的MyISAM表。采用表鎖定,一個長時間運行的查詢很可能會長時間地阻礙對表的更新。而PostgreSQL不存在這樣的問題。

3、PostgreSQL支持存儲過程,而目前MySQL不支持,對于一個嚴肅的商業應用來說,作為數據庫本身,有眾多的商業邏輯的存在,此時使用存儲過程可以在較少地增加數據庫服務器的負擔的前提下,對這樣的商業邏輯進行封裝,并可以利用數據庫服務器本身的內在機制對存儲過程的執行進行優化。此外存儲過程的存在也避免了在網絡上大量的原始的SQL語句的傳輸,這樣的優勢是顯而易見的。

4、對視圖的支持,視圖的存在同樣可以最大限度地利用數據庫服務器內在的優化機制。而且對于視圖權限的合理使用,事實上可以提供行級別的權限,這是MySQL的權限系統所無法實現的。

5、對觸發器的支持,觸發器的存在不可避免的會影響數據庫運行的效率,但是與此同時,觸發器的存在也有利于對商業邏輯的封裝,可以減少應用程序中對同一商業邏輯的重復控制。合理地使用觸發器也有利于保證數據的完整性。

6、對約束的支持。約束的作用更多地表現在對數據完整性的保證上,合理地使用約束,也可以減少編程的工作量。

7、對子查詢的支持。雖然在很多情況下在SQL語句中使用子查詢效率低下,而且絕大多數情況下可以使用帶條件的多表連接來替代子查詢,但是子查詢的存在在很多時候仍然不可避免。而且使用子查詢的SQL語句與使用帶條件的多表連接相比具有更高的程序可讀性。

8、支持R-trees這樣可擴展的索引類型,可以更方便地處理一些特殊數據。

9、PostgreSQL可以更方便地使用UDF(用戶定義函數)進行擴展。

六、那么我究竟應該使用MySQL還是PostgreSQL

這個問題很難說得清,而且事實上除了MySQL和PostgreSQL外,使用Oracle、Sybase、Informix等也是明智的選擇。如何你確定只在MySQL和PostgreSQL中進行選擇,以下規則總是有效的。

1、如果你的操作系統是Windows,你應該使用MySQL。

2、如果你對數據庫并不了十分了解,甚至不知道事務、存儲過程等究竟是什么,你應該使用MySQL。

3、如果你的應用對數據的完整性和嚴肅性要求不高,但是追求處理的高速度。例如是一個論壇和社區,你應該使用MySQL。

4、你的應用是一個嚴肅的商業應用,對數據完整性要求很高。而且你希望對一些商業數據邏輯進行很好的封裝,例如是一個網上銀行,你應該使用PostgreSQL。

5、你的應用處理的是地理數據,由于R-TREES的存在,你應該使用PostgreSQL。

6、你是一個數據庫內核的狂熱愛好者,你甚至希望擁有你自己版本的數據庫,毫無疑問,你必須使用PostgreSQL,沒準下一個PostgreSQL版本中某一個模塊的作者就是你。

七、結語

以上只是希望從我的理解客觀公正地評價MySQL和PostgreSQL的優劣。其中的帶有傾向性的意見只代表個人觀點,由于本人水平的限制,有不當之處還請批評指正。

相關:將你的網站從MySQL改為PostgreSQL

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久综合色影院| 亚洲免费伊人电影在线观看av| 亚洲国产成人在线播放| 欧美日韩国产丝袜另类| 亚洲男人天堂2019| 97在线免费视频| 欧美国产在线电影| 国产999精品久久久影片官网| 欧洲永久精品大片ww免费漫画| 日韩成人在线视频网站| 国产精品99免视看9| 国产成人精品视频在线观看| 欧美日韩精品二区| 国产一区二区三区在线观看网站| 亚洲风情亚aⅴ在线发布| 欧美第一黄色网| 亚洲va欧美va国产综合剧情| 黑人巨大精品欧美一区二区一视频| 亚洲国产一区二区三区在线观看| 久久久精品网站| 精品五月天久久| 美女黄色丝袜一区| 国产精品亚洲视频在线观看| 亚洲深夜福利视频| 亚洲视频网站在线观看| 日韩免费在线看| 国产精品视频在线观看| 国产在线拍偷自揄拍精品| 大胆人体色综合| 国产精品美女久久久免费| 久久精品中文字幕免费mv| 91精品国产亚洲| 91久久夜色精品国产网站| 97视频在线观看播放| 亚洲天堂影视av| 亚洲欧洲午夜一线一品| 国产亚洲欧美日韩一区二区| 久久免费精品日本久久中文字幕| 亚洲性夜色噜噜噜7777| 久久久免费观看| 日韩成人久久久| 日韩美女视频免费在线观看| 精品国内亚洲在观看18黄| 国产综合福利在线| 最新91在线视频| 久久在线视频在线| 国内久久久精品| 午夜精品久久久久久99热软件| 国产成人鲁鲁免费视频a| 国产精品久久久久久久午夜| 亚洲字幕在线观看| 亚洲综合日韩在线| 懂色av一区二区三区| 人妖精品videosex性欧美| 国产美女久久精品香蕉69| 欧美精品videosex性欧美| 精品久久久久久电影| 国产欧美在线视频| 国产高清视频一区三区| 国产一区视频在线| 国内免费精品永久在线视频| 欧洲精品久久久| 久久久欧美精品| 91精品久久久久久久久青青| 2018国产精品视频| 伊人亚洲福利一区二区三区| 成人激情在线播放| 2019av中文字幕| 国产精品十八以下禁看| 久久深夜福利免费观看| 欧美日韩一区二区免费视频| 日韩精品中文在线观看| 亚洲加勒比久久88色综合| 亚洲精品www久久久久久广东| 日本精品视频在线播放| 97超视频免费观看| 国产欧美精品xxxx另类| 亚洲免费一在线| 欧美精品激情在线观看| 欧美日韩免费区域视频在线观看| 97视频在线观看成人| 亚洲一区中文字幕在线观看| 欧美性xxxx18| 久久69精品久久久久久国产越南| 亚洲福利视频网站| 亚洲18私人小影院| 国产精品电影网| 日韩一区二区福利| 欧美丰满少妇xxxxx做受| 日韩国产精品亚洲а∨天堂免| 久久天堂av综合合色| 国产在线拍揄自揄视频不卡99| 性色av一区二区三区| 国产精品久久久久久亚洲影视| 久久久av免费| 菠萝蜜影院一区二区免费| 中文字幕精品一区久久久久| 亚洲福利在线视频| 日韩欧美成人精品| 91在线色戒在线| 日韩av网站大全| 亚洲片在线资源| 91精品国产免费久久久久久| 精品色蜜蜜精品视频在线观看| 成人av在线天堂| 亚洲精品久久久久久久久久久| 国产在线拍偷自揄拍精品| 国产精品jvid在线观看蜜臀| 最新的欧美黄色| 日韩欧美国产一区二区| 国产精品久久久久久久久影视| 欧美精品免费在线观看| 中文字幕欧美精品日韩中文字幕| 亚洲国产成人久久| 国产日产久久高清欧美一区| 最近2019年中文视频免费在线观看| 午夜欧美不卡精品aaaaa| 欧美日韩国产综合视频在线观看中文| 久热精品视频在线观看一区| 在线播放精品一区二区三区| 亚洲图片在区色| 在线亚洲午夜片av大片| 日韩精品欧美国产精品忘忧草| 国产精品女人网站| 日韩动漫免费观看电视剧高清| 日韩有码在线电影| 亚洲精品久久久一区二区三区| 精品日韩美女的视频高清| 日本亚洲欧美成人| 久久精品国产成人| 午夜精品久久17c| 少妇久久久久久| 中文在线资源观看视频网站免费不卡| 成人激情视频在线观看| 日韩av在线网址| 午夜精品视频网站| 亚洲成在人线av| 在线成人激情黄色| 欧美大胆a视频| 欧美孕妇孕交黑巨大网站| 日韩美女中文字幕| 亚州av一区二区| 国产精品老牛影院在线观看| 国内精品久久久| 国产精品久久久久久久久久小说| 欧美性xxxx在线播放| 亚洲免费伊人电影在线观看av| 2024亚洲男人天堂| 亚洲欧美一区二区三区情侣bbw| 日韩欧美高清在线视频| 欧美日韩精品中文字幕| 日韩va亚洲va欧洲va国产| 国语自产精品视频在线看| 亚洲第一网站男人都懂| 国产v综合v亚洲欧美久久| 亚洲午夜精品久久久久久性色| 深夜福利国产精品| 日韩最新中文字幕电影免费看| 久久久噜噜噜久噜久久| 91在线国产电影| 欧美中文在线视频| 911国产网站尤物在线观看| 日韩成人在线观看| 欧美精品第一页在线播放|