Czy istnieje duża różnica między MySQL i PostgreSQL dla początkującego, takiego jak ja, używając podstawowych instrukcji wyboru i tym podobnych, czy też główne różnice w korzystaniu z bardziej zaawansowanych zapytań?Dla początkującego, czy istnieje duża różnica między MySQL a PostgreSQL
Odpowiedz
PostgreSQL obsługuje bardziej zaawansowane zapytania, działa lepiej w przypadku skomplikowanych zapytań, ale jest trudniejszy w zarządzaniu.
MySQL jest szybki, łatwy w zarządzaniu, ale można uruchomić jego ograniczenia dla zaawansowanych zapytań, procedur przechowywanych i tym podobnych.
Są na tyle podobne, że polecam zacząć od MySQL, ale uczę się także PostgreSQL.
Powodem, dla którego zwykle sugeruję PostgreSQL przed MySQL jest to, że MySQL jest daleki od standardów (zgodnie z SQL). Nie obsługuje funkcji okna (wersja 8.4), zwykłych wyrażeń tabel (8.4), ograniczeń CHECK, operatora EXCEPT/MINUS, nawet pełnych połączeń ... Nawet jeśli nigdy nie słyszałeś o tych słowach, Będą musieli użyć tych pojęć w pewnym momencie.
Sugeruję, aby zacząć od PostgreSQL, a następnie dowiedzieć się, czym jest "prawdziwy" SQL. Następnie możesz zdecydować, czy MySQL jest wystarczający, czy nie.
P.S. Zacząłem od MySQL i żałowałem tego. Używam teraz PostgreSQL i uwielbiam to.
+1 dla obszernej listy różnic – bernie
Dobre, konkretne informacje.Wyniki wydajności są w stosunku do PostgreSQL, czasami posiadanie lekkiego kodu SQL jest dobrym pomysłem, zwłaszcza jeśli nie potrzebujesz dodatkowego nadmiaru, ale chcesz czegoś, co nadal jest SQL, zamiast korzystać z paradygmatów przechowywania danych NoSQL – qdot
Mit, że MySQL jest szybciej niż PostgreSQL nie było prawdziwe od kilku lat. Zwłaszcza od wersji 8.3, PostgreSQL skaluje się lepiej w scenariuszu wysokiego zapisu transakcyjnego. Optymalizator jest o wiele mądrzejszy, jeśli chodzi o złożone instrukcje. MySQL z MyISAM może być jeszcze szybszy, wtedy tracisz wszystkie zalety transakcji typu DBMS i ograniczeń (klucza obcego). –
Podczas, gdy dopiero zaczynasz, myślę, że docenisz narzędzie pgadminIII GUI PostgreSQL bardziej niż te, które wypróbowałem dla MySQL. Może to jednak moje preferencje.
Po ominąć podstaw pewno chcą skorzystać z wsparcia PostgreSQL z window functions począwszy od wersji 8.4
bym rzeczywiście polecić PostgreSQL nad MySQL dla funkcji okna sam. Zauważ, że istnieją sposoby naśladowania funkcji okna w MySQL.
I totall zgadzam się. Recursive Common Table Expressions to kolejny powód, by preferować PostgreSQL nad MySQL. I lepsza zgodność ze standardem ... I sprawdź ograniczenia ... I odstąpić ograniczenia ... –
+1: Nie chcę pracować z WorkBench –
Nienawidzę, że ctrl-c wychodzi z konsoli w MySQL. W psql po prostu anuluje bieżące polecenie. –
Polecam PostgreSQL dla początkujących, ponieważ ma o wiele mniej niespodzianek niż MySQL.
Oto niektóre z rzeczy, które ludzie uciekają w 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/
Tymczasem PostgreSQL robi dokładnie to, czego od niego oczekujesz w większość sytuacji i zwykle ma bardzo dobry powód, gdy robi coś nieoczekiwanego.
Było już wiele wspaniałych punktów za PostgreSQL, ale mam zamiar dodać jeszcze 1:
PostgreSQL ma the best documentation jakiegokolwiek produktu bazodanowego ja pracowałem.
Dlatego dokumentacja wyróżnia się:
- To faktycznie uczy się podstaw języka SQL
- Łatwo jest zrozumieć
- Ma dobre przykłady
- Jest bardzo dobrze zorganizowane
- To nie jest tylko lista funkcji z notatkami technicznymi
- Wszystko dookoła, dobrze napisane
Inni dostawcy powinni się wstydzić tego, co próbują i przekazać jako dokumentację.
Za każdym razem, gdy muszę zajrzeć coś o Sybase, chcę płakać i krzyczeć Dokumentacja PostgreSQL jest rzeczywiście niesamowita –
Gdzie jest link do dokumentacji – aWebDeveloper
@WebDeveloper, czy masz wypróbowany google? Jest to pierwszy wynik "dokumentacji PostreSQL." – mikerobi
Często słyszy się entuzjastów PostgreSQL twierdzą, że jest to "prawdziwy" RDBMS, a MySQL nie. Ten rodzaj snobizmu jest niebezpieczny dla przybyszów, ponieważ pojawia się po latach konkretnych doświadczeń, które pocierają pewną drogę przeciwko pewnemu rodzajowi osobowości. Jeśli chcesz podejść do tego pod względem wiedzy, z której najbardziej skorzystałby początkujący - znacznie częściej można znaleźć ludzi używających MySQL na wolności niż PostgreSQL. Duże witryny zbudowane wokół oprogramowania open source wybierają MySQL ponad PostgreSQL z dużym marginesem.
Osobiście lubię MySQL, ponieważ pasuje do mojego stylu programowania - po prostu robi się dobrze. Nie używam kluczy obcych. I zdecydowanie nie korzystaj z procedur przechowywanych. Ale to, co robi MySQL, działa dobrze i robi to szybko i robi to, jednocześnie dając mi szczęśliwe "w porządku, to ma sens", którego nie mam w PostgreSQL (użyłem obydwu w dużej mierze). Dobre wsparcie społeczności dla MySQL i doskonała dokumentacja. A jeśli potrzebujesz replikacji (a kto nie?) MySQL jest wyraźnym zwycięzcą, bez zadawania pytań.
Jest kilka rzeczy, które MySQL umożliwia, które mogą prowadzić do złych nawyków, jeśli przełączysz się na mniej wybaczające bazy danych. Ale o to chodzi - jest cała ta rozmowa o tym, jak trzeba być przygotowanym na skakanie z RDBMS X do RDBMS Y w jednej chwili. Z mojego doświadczenia wynika, że dzieje się to rzadko, a kiedy tak się dzieje, zawsze występują dziwne różnice między bazą danych. MySQL różni się od PostgreSQL, który różni się od Oracle, który różni się od SQL Server, który różni się od sqlite, itp., Itp. Użyłem wszystkich wymienionych powyżej dbs, ale ten, do którego wracam, jednym z nich, który wykonuje najprostsze i najbardziej elastyczne działania, jest MySQL.
Administratorzy DBA uwielbiają odkładać MySQL w ten sam sposób, w jaki miłośnicy języka programowania lubią podbijać PHP - a jednak przeżywają i rozwijają się. Są ku temu powody - po prostu działają, po prostu robią rzeczy. Ale na koniec dnia powinieneś bawić się z tym wszystkim i sam decydować.
Czy mógłbyś rozwinąć temat "Po prostu robi się dobrze"? To brzmi dla mnie jak powiedzenie: To pierwsza rzecz, z którą się zetknąłem i zniosłem to. PHP/MySQL, ponieważ te dwa słowa w moim umyśle są ze sobą powiązane. –
- 1. Czy istnieje różnica między listą a krotką?
- 2. Czy istnieje różnica między SSLv3 a TLS1.0?
- 3. Co sprawia, że duża różnica między odgałęzieniem a apostrofem?
- 4. Czy istnieje różnica między "docker ps" a "docker container ls"?
- 5. Jaka jest duża różnica między obserwatorami a callbackami?
- 6. Różnica (jeśli istnieje) między `a 'w javascript
- 7. Embedded Linux dla początkującego początkującego
- 8. Różnica między UNHEX a X (MySQL)
- 9. Czy istnieje różnica między serwerem WWW a usługą sieciową?
- 10. MYSQL: Różnica między binarnymi a obiektami Blob
- 11. Czy istnieje różnica między tablicami malloced a nowymi tablicami
- 12. Czy istnieje jakaś różnica między "Object [] x" a "Object x []"?
- 13. PHP: Czy istnieje różnica między {$ foo} a $ {foo}
- 14. Czy istnieje funkcja Trigram, taka jak pg_trgm (PostgreSQL) dla MySQL?
- 15. Czy istnieje różnica między metodą ToString a rzutowaniem na ciąg?
- 16. Czy istnieje jakaś różnica między odlewaniem typu a konwersją typu?
- 17. Czy istnieje jakaś różnica między formantem a widżetem?
- 18. Czy istnieje różnica między odniesieniami uniwersalnymi a referencjami przekazywania?
- 19. Czy istnieje różnica między kwalifikatorem _Atomic a specyfikatorem typu?
- 20. Czy istnieje różnica między [] a list() podczas korzystania z id()?
- 21. Czy istnieje różnica między podłogą a ucięciem w Haskell
- 22. Jaka jest różnica między użytkownikiem a rolą?
- 23. MySQL: Różnica między ",", "i"
- 24. Różnica między kodowaniem a sortowaniem?
- 25. RDMS dla początkującego języka C?
- 26. Jaka jest różnica między replikacją pgpool II a replikacją postgresql?
- 27. Różnica między jquery a $
- 28. Czy istnieje różnica między NOT (ColumnName LIKE "% a%") a ColumnName NOT LIKE '% a%'
- 29. Różnica między obiektem a *?
- 30. Różnica między Object.getPrototypeOf a __proto__
Niedawno wypróbowałem bieżący instalator dla PostgrSQL 9.0 w systemie Windows. Instalacja była całkowicie bezbolesna i zawiera graficzny GUI pgADMIN. –
Tak, ale gdy próbujesz wykonać replikację master/slave, klastrowanie staje się trudne :(Instalacja zarówno MySQL, jak i PostgreSQL jest prosta, sprawdzenie, czy działa wydajnie, to ból w tyłku. wykorzystywane do prowadzenia badań i rozwoju dla dużej witryny społecznościowej) jest jedno i drugie - wykorzystaliśmy PostgreSQL do naszych skomplikowanych danych (informacje społeczne, analityka) i użyliśmy MySQL do ogromnych repozytoriów trywialnych, nieustrukturyzowanych danych (wiadomości użytkownika) MySQL replikuje i klastrów szybko i łatwo, i jest trywialne w utrzymaniu. – qdot