您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>匯編編程>

PostgreSQL與MySQL在技術層面的比較

大?。?/span>0.8 MB 人氣: 2017-09-28 需要積分:1

  這篇文章的目的是列舉一些例子,來說明在技術層面上為什么你可能更應該使用PostgreSQL。但要注意:這個帖子只是說明一些“最好的”特點,并不是一個完整的列表,然而,這些應該足以讓人們做出決策。

  PostgreSQL與MySQL / MariaDB:數(shù)據(jù)類型處理

  PostgreSQL與MySQL在技術層面的比較

  在這里看到的是PostgreSQL錯誤,因為試圖放入表中的數(shù)據(jù)并不符合列的數(shù)據(jù)類型,而MySQL / MariaDB則會悄悄地更改你的數(shù)據(jù)。是的,MySQL/MariaDB確實發(fā)出了警告,但過了一段時間后,表中的數(shù)據(jù)就不是最初的數(shù)據(jù)了。

  為什么這很重要?假設你中了一百萬的彩票,但你最終只得到9999.99,只因為數(shù)據(jù)變化極少,所以不幸的是根本沒有人注意到。你會生氣嗎?我會的。在這個例子中,PostgreSQL所顯示的操作是正確的,原因有很多:

  最可能的原因是定義了列的方式。

  警告不等同于錯誤。

  存儲數(shù)據(jù)不是 “容忍”——它更關注正確性。

  如果你對著自己開槍,那也就沒有必要去警告你,因為“你現(xiàn)在可能已經(jīng)死了”——所以最好是在一開始就阻止這種事情的發(fā)生。

  經(jīng)驗總結:PostgreSQL非常重視數(shù)據(jù)結構。

  PostgreSQL vs MySQL / MariaDB:謹慎對待現(xiàn)有數(shù)據(jù)

  PostgreSQL與MySQL在技術層面的比較

  再強調(diào)一遍,MySQL / MariaDB是會更改你的數(shù)據(jù)的。請注意,插入到表中的原始值為1234.5678,但現(xiàn)在得到9.99。所以以后你會開始關注細微的差別了嗎?如果這是你的銀行賬戶?你會在乎嗎?如果這個數(shù)據(jù)庫只是為了保持運行而不解決問題——那么你還會繼續(xù)相信它嗎,也許是時候需要找到一個替代品了。如果你的生活依賴于數(shù)據(jù),你會接受一張數(shù)據(jù)表悄無聲音的改變嗎?也許我太保守了,所以我不會接受。

  PostgreSQL達到了我個人對數(shù)據(jù)庫的期望。它會報出錯誤,并告訴我們數(shù)據(jù)是不能被更改的,因為數(shù)據(jù)是需要被保護的。如果你想要更改表中的數(shù)據(jù)(以防新規(guī)則被違反),你必須明確地告訴PostgreSQL你想要什么:

  在這種情況下,我們會告知PostgreSQL如何進行處理數(shù)據(jù)。PostgreSQL并沒有很智能(也不像MySQL / MariaDB這樣的失敗),它不會去嘗試做一些有趣的事情——它只是做你想做的事情,以及做一些對你的數(shù)據(jù)有好處的事情。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關規(guī)定!

      ?