postgresql和mysql哪個好

2021-09-12 01:43:43 字數 1192 閱讀 3811

postgresql和mysql都是免費且功能強大的開源資料庫,很多使用者面對這兩個庫都會有乙個問題,那就是哪乙個才是最好的開源資料庫,mysql還是postgresql呢?該選擇哪乙個開源資料庫呢?

一.postgresql相對於mysql的優勢

1、在sql的標準實現上要比mysql完善,而且功能實現比較嚴謹;

2、儲存過程的功能支援要比mysql好,具備本地快取執行計畫的能力;

3、對錶連線支援較完整,優化器的功能較完整,支援的索引型別很多,複雜查詢能力較強;

4、postgresql主表採用堆表存放,mysql採用索引組織表,能夠支援比mysql更大的資料量。

5、postgresql的主備複製屬於物理複製,相對於mysql基於binlog的邏輯複製,資料的一致性更加可靠,複製效能更高,對主機效能的影響也更小。

6、mysql的儲存引擎外掛程式化機制,存在鎖機制複雜影響併發的問題,而postgresql不存在。

二、mysql相對於postgresql的優勢:

1、innodb的基於回滾段實現的mvcc機制,相對pg新老資料一起存放的基於xid的mvcc機制,是佔優的。新老資料一起存放,需要定時觸發vacuum,會帶來多餘的io和資料庫物件加鎖開銷,引起資料庫整體的併發能力下降。而且vacuum清理不及時,還可能會引發資料膨脹;

2、mysql採用索引組織表,這種儲存方式非常適合基於主鍵匹配的查詢、刪改操作,但是對錶結構設計存在約束;

3、mysql的優化器較簡單,系統表、運算子、資料型別的實現都很精簡,非常適合簡單的查詢操作;

4、mysql分割槽表的實現要優於pg的基於繼承表的分割槽實現,主要體現在分割槽個數達到上千上萬後的處理效能差異較大。

5、mysql的儲存引擎外掛程式化機制,使得它的應用場景更加廣泛,比如除了innodb適合事務處理場景外,myisam適合靜態資料的查詢場景。

三、結論

總的來說,開源資料庫都還不是很完善,和這兩者相比,商業資料庫oracle無論在架構還是功能方面都要完善很多。

postgresql和mysql相比,postgresql更加適合嚴格的企業應用場景(比如金融、電信、erp、crm),而mysql則是更加適合業務邏輯相對簡單、對資料可靠性要求比較低的網際網路場景(比如google、facebook、alibaba)。

引用自

PostgreSQL和SQLServer的一些差異

postgresql和sql server的模糊匹配like是不一樣的,postgresql的like是區分大小寫的,sql server不區分。測試如下 構造資料sql create table t user id integer primary key,name varchar 50 not n...

phpMyAdmim和Yii 連線Mysql報錯。

之前phpmyadmim和yii連線mysql都好著的。某天,同一時候出現例如以下報錯 1 linux下phpmyadmin 出現 缺少 mysqli 擴充套件,請檢查 php 配置。2 yii 出現cdbconnection failed to open the db connection cou...

phpMyAdmim和Yii連線Mysql報錯。

之前phpmyadmim和yii連線mysql都好著的,某天,同時出現如下報錯 1 linux下phpmyadmin 出現 缺少 mysqli 擴充套件,請檢查 php 配置。2 yii 出現cdbconnection failed to open the db connection could n...