MySQL和Postgresql的區別

2021-08-21 22:03:00 字數 922 閱讀 2951

一.postgresql相對於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)。

使用perl連線和操作postgresql資料庫

使用環境 linux opensuse 1 檢查安裝環境 1 查詢dbi zypper search dbi 安裝dbi zypper search perl dbi 2 查詢dbd pg zypper search dbd 安裝dbd pg zypper install perl dbd pg 2...

再見 MongoDB,你好 PostgreSQL

olery 差不多成立於5年前。始於ruby 開發的單一產品 olery reputation 隨著時間的推移,我們開始致力於一系列不同的產品和應用程式。當今,我們的產品不僅有 olery reputation,還有olery feedback,hotel review data api,widge...

把pgboucer做成postgresql服務

把pgbouncer啟動命令加入到postgresql服務配置裡面。這樣方便操作 vi etc init.d postgresql 加入如下紅色命令。路徑換成你的pgbouncer安裝目錄 case 1 instart echo n starting postgresql test e pg oom...