PostgreSQL 與 MySQL 相比,優勢何在?【轉】

來源:互聯網
上載者:User

標籤:

最近看到PostgreSQL話題比較多,就搜尋了一下它與mysql的對比
知了
連結:http://www.zhihu.com/question/20010554/answer/74037965
來源:知乎

一、PG相對於MySQL的優勢:
1、在SQL的標準實現上要比MySQL完善,而且功能實現比較嚴謹;
2、預存程序的功能支援要比MySQL好,具備本機快取執行計畫的能力;
3、對錶串連支援較完整,最佳化器的功能較完整,支援的索引類型很多,複雜查詢能力較強;
4、PG主表採用堆表存放,MySQL採用索引組織表,能夠支援比MySQL更大的資料量。
5、PG的主備複製屬於物理複製,相對於MySQL基於binlog的邏輯複製,資料的一致性更加可靠,複製效能更高,對主機效能的影響也更小。
6、MySQL的儲存引擎外掛程式化機制,存在鎖機制複雜影響並發的問題,而PG不存在。

二、MySQL相對於PG的優勢:
1、innodb的基於復原段實現的MVCC機制,相對PG新老資料一起存放的基於XID的MVCC機制,是佔優的。新老資料一起存放,需要定時觸 發VACUUM,會帶來多餘的IO和資料庫物件加鎖開銷,引起資料庫整體的並發能力下降。而且VACUUM清理不及時,還可能會引發資料膨脹;
2、MySQL採用索引組織表,這種儲存方式非常適合基於主鍵匹配的查詢、刪改操作,但是對錶結構設計存在約束;
3、MySQL的最佳化器較簡單,系統資料表、運算子、資料類型的實現都很精簡,非常適合簡單的查詢操作;
4、MySQL分區表的實現要優於PG的基於繼承表的分區實現,主要體現在分區個數達到上千上萬後的處理效能差異較大。
5、MySQL的儲存引擎外掛程式化機制,使得它的應用情境更加廣泛,比如除了innodb適合交易處理情境外,myisam適合待用資料的查詢情境。

三、總體上來說,開來源資料庫都不是很完善,商務資料庫oracle在架構和功能方面都還是完善很多的。從應用情境來說,PG更加適合嚴格的公司專屬應用程式情境(比如金融、電信、ERP、CRM),而MySQL更加適合商務邏輯相對簡單、資料可靠性要求較低的互連網情境(比如google、facebook、alibaba)。

PostgreSQL 與 MySQL 相比,優勢何在?【轉】

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.