對於像我這樣的初學者,使用基本的select語句之類,MySQL和PostgreSQL有很大的區別,還是與使用更高級的查詢的主要區別?對於初學者來說,MySQL和PostgreSQL有很大區別嗎
回答
PostgreSQL支持更高級的查詢,它在複雜的查詢上表現更好,但難於管理。
MySQL是快速,易於管理的,但您可能會遇到它對高級查詢,存儲過程等的限制。
它們非常相似,我建議從MySQL開始,但也要學習PostgreSQL。
之所以我通常在MySQL之前建議PostgreSQL是因爲MySQL遠離標準(SQL方式)。它不支持使用窗口函數(8.4版),公用表表達式(8.4),CHECK約束,EXCEPT/MINUS運算符,甚至是全外連接...即使你可能從未聽說過這些單詞,在某些時候將不得不使用這些概念。
我強烈建議你從PostgreSQL開始,然後你可以瞭解什麼是「真正的」SQL。然後,你可以決定MySQL是否足夠。
P.S.我從MySQL開始,並對此表示遺憾。我現在使用PostgreSQL,我喜歡它。
用於綜合列表的差異 – bernie 2010-10-30 16:30:40
好的,具體的信息。性能結果是針對PostgreSQL的,有時候有一個輕量級的SQL是一個好主意,尤其是如果你不需要額外的膨脹,但你想要的東西仍然是SQL,而不是與NoSQL數據存儲範例一起使用 – qdot 2010-10-30 16:37:21
MySQL的神話比PostgreSQL更快的速度現在已經有好幾年了。特別是自8.3以來,PostgreSQL在高事務性寫入場景中擴展性更好。當涉及到複雜的語句時,優化器更加智能化。帶MyISAM的MySQL可能仍然會更快,那麼你就失去了DBMS的所有優勢,比如交易和(外鍵)限制 – 2010-10-30 16:48:06
剛開始的時候,我想你會比PostgreSQL的pgadminIII GUI工具更加欣賞那些我爲MySQL試用過的工具。然而,這可能只是我的偏好。
當你過去的基礎知識你一定要充分利用PostgreSQL的支持window functions在8.4版
其實我建議的PostgreSQL對MySQL單獨的窗口功能啓動。請注意,有很多方法可以模擬MySQL中的窗口函數。
我完全同意。而遞歸公用表表達式是另一個選擇Postgres而不是MySQL的理由。並更好地遵守標準...並檢查約束......並推遲約束... – 2010-10-30 16:44:53
+1:我不喜歡與WorkBench工作 – 2010-11-02 04:31:53
我討厭ctrl-c退出MySQL中的控制檯。在psql中它只是取消當前的命令。 – 2011-01-17 15:12:21
我會爲初學者推薦PostgreSQL,因爲它比MySQL的意外少得多。
這裏有一些的東西,人們遇到與MySQL:
- http://blog.amber.org/2005/09/27/least-common-denominator/
- http://arstechnica.com/civis/viewtopic.php?f=20&t=92525
- http://exortech.com/blog/2009/11/30/weekly-release-53-environment-bug-bites/
同時,PostgreSQL的不正是你希望它做什麼大多數情況下,通常有一個非常好的理由,當它做出意想不到的事情。
目前已經支持的PostgreSQL了很多偉大的點,但我將新增1:
PostgreSQL有任何數據庫產品我合作過的the best documentation。
這就是爲什麼文檔中脫穎而出:
- 它實際上是教你SQL的基本知識
- 這是很容易理解
- 它具有很好的例子
- 這是非常良好的組織
- 它不僅僅是一個功能列表與技術說明
- 它全是,寫得很好
其他供應商應該爲他們嘗試和作爲文檔傳遞而感到羞恥。
每次我都要去看看關於Sybase的東西,我想哭泣和尖叫PostgreSQL的文檔確實不可思議 – 2010-11-02 04:46:02
哪裏有文檔鏈接 – aWebDeveloper 2012-05-20 17:26:46
@WebDeveloper,有你試過谷歌?這是「PostreSQL文檔」的第一個結果。 – mikerobi 2012-05-20 17:48:16
你經常聽到PostgreSQL愛好者認爲它是一個「真正的」RDBMS,而MySQL不是。這種勢利行爲對新移民來說是危險的,因爲它是在多年的特定經歷與某種特定類型的摩擦之後產生的。如果你想用什麼樣的知識來解決這個問題,那麼你最有可能找到使用MySQL的人比PostgreSQL更有效。圍繞開源軟件構建的大型網站大大優於PostgreSQL選擇MySQL。
就我個人而言,我喜歡MySQL,因爲它符合我的開發風格 - 它只是讓東西完成。我不使用外鍵。我肯定不使用存儲過程。但是MySQL做了什麼,它做得很好,它的速度很快,它做到了,同時給了我一個快樂的「好的,有道理的」感覺我沒有得到PostgreSQL(我已經廣泛使用過)。有很好的社區支持MySQL和優秀的文檔。如果你需要複製(而誰不復制?)MySQL是明確的贏家,沒有問題。
如果你切換到寬容的數據庫,有些事情可能會導致MySQL的壞習慣。但事情就是這樣 - 所有這些都是關於如何準備好從RDBMS X跳轉到RDBMS Y的一切話題。根據我的經驗,這種情況很少發生,而且當它發生時,從一個數據庫到下一個數據庫總是存在古怪的差異。 MySQL與PostgreSQL不同,PostgreSQL與Oracle不同,它不同於SQL Server,它與sqlite等不同,我使用了上面列出的所有dbs,但是我一直使用的是MySQL最容易和靈活地完成事情。
DBA喜歡以與編程語言愛好者一樣的方式放下MySQL,以此來抨擊PHP - 但它們仍然存活並蓬勃發展。這是有原因的 - 他們只是工作,他們只是做些事情。但是在一天結束的時候,你應該玩弄所有這些,並且做出自己的想法。
你能詳細說明一下「完成任務嗎?」這聽起來對我來說是這樣說的:這是我遇到的第一件事,並且忍受了它。 PHP/MySQL,因爲我腦海中的這兩個詞是相互關聯的。 – 2013-02-07 10:23:41
- 1. mysql錯誤(對於普通學者來說應該很簡單:)
- 2. 對於初學者來說,Java 6還可以,或者有必要嗎?
- 3. 對於初學者來說,非常棒的ASP.NET和C#教程
- 4. 對於初學者來說更容易:RubyCocoa或ObjC/Cocoa
- 5. 對於初學者來說,JSON的最佳資源是什麼
- 6. 對於初學者來說,Backbone是比AngularJS更好的選擇嗎?
- 7. 對於Lisp初學者來說,什麼是一本好的數學書籍?
- 8. 哪個版本對於Game Field的初學者來說有用AndEngine gles1或gles2?
- 9. PHP和MySql初學者
- 10. Wemo和Python Incorporation對於初學者
- 11. 初學者Javascript:'function xyz(){}'和'var xyz = function(){}'有什麼區別?
- 12. Mysql中的InnoDB模塊對於Drupal來說很重要嗎?
- 13. 學習WinAPI的 - 對於初學者
- 14. C++很少有初學者錯誤
- 15. 閱讀Python文檔爲初學者學習Python很好嗎?
- 16. 對於初學者用戶需要MySQL的一個很好的前端
- 17. 很少有關於NSString的初學者問題
- 18. 針對初學者的mysql語法
- 19. 兩者有區別嗎?
- 20. 初學者Drupal 7和Drupal 8之間的區別
- 21. 初學者 - AJAX虛假和真實的區別?
- 22. Rails 3和3.2之間有很大的區別嗎?
- 23. 返回-1和〜0的函數有很大的區別嗎?
- 24. OpenCV vs IVT - 對於初學者
- 25. 的SmartTV的發展對於初學者
- 26. Java對於初學者的繼承
- 27. 開源Ruby項目對於初學者
- 28. PHP和MySQL的初學者問題
- 29. convertapi對你來說還是很慢嗎?
- 30. 初學者PHP/mySQL問題
我最近嘗試了Windows上的PostgrSQL 9.0的當前安裝程序。安裝完全無痛,包括管理GUI pgADMIN。 – 2010-10-30 16:22:23
是的,但一旦你試圖做主/從複製,集羣......它會變得棘手:(安裝MySQL和PostgreSQL很簡單,讓它有效地運行是一個痛苦的屁股。用於爲大型社交網站運行研發)有兩種用途 - 我們使用PostgreSQL來處理複雜的數據(社交信息,分析),並且我們將MySQL用於龐大的非結構化數據庫(用戶消息)。快速,輕鬆地集羣,並且維護起來很簡單。 – qdot 2010-10-30 16:34:01