為什麼說POSTGRESQL資料庫比MySQL強?

2021-12-30 07:39:29 字數 1060 閱讀 7714

. postgresql在很多方面都比mysql強,如複雜sql的執行、儲存過程、觸發器、索引。同時postgresql是多程序的,而mysql是執行緒的,雖然併發不高時,mysql處理速度快,但當併發高的時候,對於現在多核的單台機器上,mysql的總體處理效能不如postgresql,原因是mysql的執行緒無法充分利用cpu的能力。

mysql/mariadb的當前版本是5.7.6(mariadb為mysql建立者montywidenius建立的乙個mysql分支),postgresql的版本是9.4.1。bolton從以下幾個方面對比了兩者的最新版本:

ansi標準相容性:與先前的版本相比,mysql已經有了長足的進步,但mysql背後的哲學是,如果客戶喜歡,他們就會支援非標準擴充套件,而postgresql從開始就將標準構建到平台裡。不過,二者殊途同歸,差別不大;

acid遵從性:postgresql有乙個儲存引擎,而mysql有9個,但只有myisam和innodb與大部分使用者有關,其中,後者為預設儲存引擎。innodb和postgresql都完全遵循acid,差別不大;

無鎖表修改:myisam使用表級鎖來提公升速度,這會導致寫互斥。但postgresql和innodb均使用行級鎖,差別不大;

子查詢:長期以來,這一直是mysql的乙個弱點,雖然5.6.5作了重大改進,但postgresql對錶連線支援得更好,尤其是mysql不支援全外連線,因此,這方面postgresql勝過mysql;

json支援和nosql:postgresql最近增加了json支援,與傳統的關係型資料庫相比,它提供了更大的資料儲存靈活性,因此,這方面postgresql勝過mysql。

此外,bolton指出,選擇postgresql還有如下理由:

更好的許可:postgresql採用類似mit的許可協議,允許開發人員做任何事情,包括在開源或閉源產品中商用,而mysql的客戶端遵循gpl許可協議,所以開發人員必須向oracle付費或者將自己的應用程式開源;

更好的資料一致性: postgresql會在資料插入和更新之前進行嚴格的驗證,確保資料合法才會進行相應的操作,但在mysql中,開發人員需要將伺服器設定為嚴格sql模式才能達到同樣的目的,否則可能會產生不規範資料;

CIO為什麼說「不」

選擇 是 對於有些人來說,是一種逃避責任的最好辦法,所有的後果都可以由那個提出建議的人來承擔。而當你說 不 的時候,不但會憑空給自己樹立很多對立面,同時也會將所有的責任肩負在自己身上。說 不 對於 cio來講是需要一定的勇氣,但更為重要的是它要求 cio具備乙個理性的頭腦。itit it建設勢必要 ...

為什麼不走索引, PostgreSQL

原文出處 有乙個老的問題經常會問道資料庫轉件就是為什麼或者為什麼表的索引沒有被使用?下面的文章將會簡單的回答這個常見的問題,並按著統計學意義排序。一 對於外行人來說,你怎麼知道索引沒有被使用呢?可以使用 explain explain analyze 或者 pgadmin 的圖形執行計畫來檢視。如果...

為什麼說Google沒了節操

強制要求使用者註冊google 現在google旗下的很多產品都會強制地要求使用者註冊google 的賬號,也許你一開始只是想要個郵箱和網上硬碟,但是你還是會被拖進這個社交網路享受到一些額外的服務,例如被投票 被分享 被推薦 被代表 被公開。最嚴重的是youtube,即使想投個票也要登入google...