Есть ли большая разница между MySQL и PostgreSQL для новичков, подобных мне, с использованием базовых операторов выбора и т.п. или же основные отличия от использования более сложных запросов?
Для новичков существует большая разница между MySQL и PostgreSQL
Ответ 1
Причина, по которой я обычно предлагаю PostgreSQL перед MySQL, заключается в том, что MySQL далек от стандартов (по SQL). Он не поддерживает использование оконных функций (версия 8.4), общих табличных выражений (8.4), ограничений CHECK, оператора EXCEPT/MINUS, даже ПОЛНЫХ ВНЕШНИХ ОБЪЕДИНЕНИЙ... Даже если вы, возможно, никогда не слышали из этих слов вам придется использовать эти концепции в какой-то момент.
Я настоятельно рекомендую вам начать с PostgreSQL, тогда вы сможете узнать, что такое "настоящий" SQL. Затем вы можете решить, достаточен ли MySQL или нет.
P.S. Я начал с MySQL, и я пожалел об этом. Теперь я использую PostgreSQL, и мне это нравится.
Ответ 2
В PostgreSQL уже было много замечательных моментов, но я добавлю еще 1:
PostgreSQL имеет лучшую документацию любого продукта базы данных, с которым я работал.
Вот почему документация выделяется:
- На самом деле он учит основам SQL
- Легко понять
- У этого есть хорошие примеры
- Он очень хорошо организован.
- Это не просто список функций с техническими нотами
- Все вокруг, хорошо написано
Другим поставщикам следует стыдиться того, что они пытаются, и передать в качестве документации.
Ответ 3
Пока вы только начинаете, я думаю, что вы оцените инструмент GUI PostgreSQL pgadminIII больше, чем те, которые я пробовал для MySQL. Это может быть только мое предпочтение.
Когда вы пройдетесь по основам, вы обязательно захотите воспользоваться поддержкой PostgreSQL функций окна, начиная с версии 8.4
Я бы рекомендовал PostgreSQL для MySQL только для оконных функций. Обратите внимание, что есть способы эмуляции оконных функций в MySQL.
Ответ 4
Вы часто слышите, как энтузиасты PostgreSQL утверждают, что это настоящая RDBMS, а MySQL - нет. Этот вид снобизма опасен для новичков, потому что он приходит после нескольких лет конкретных событий, которые втираются определенным образом против определенного типа личности. Если вы хотите приблизиться к ней с точки зрения того, какие знания лучше всего принесут новичкам, вы гораздо чаще найдете людей, использующих MySQL, в дикой природе, чем PostgreSQL. Большие сайты, созданные на основе программного обеспечения с открытым исходным кодом, выбирают MySQL через PostgreSQL с большим отрывом.
Лично мне нравится MySQL, потому что он соответствует моему стилю разработки - он просто делает вещи. Я не использую внешние ключи. Я определенно не использую хранимые процедуры. Но то, что делает MySQL, делает это хорошо, и это происходит быстро, и это делает это, давая мне счастливое "хорошо, что имеет смысл", чувствуя, что я не получаю PostgreSQL (я использовал оба варианта). Там хорошая поддержка сообщества для MySQL и отличная документация. И если вам нужно выполнить репликацию (а кто нет?), То MySQL - это явный победитель, никаких вопросов не задано.
Есть некоторые вещи, которые MySQL позволяет вам сделать, что может привести к вредным привычкам, если вы переключитесь на менее прощающие базы данных. Но это то, что все это говорит о том, как вам нужно быть готовым перейти с RDBMS X на RDBMS Y в одно мгновение. По моему опыту, это случается редко, и когда это происходит, всегда есть странные отличия от одной базы данных к другой. MySQL отличается от PostgreSQL, который отличается от Oracle, который отличается от SQL Server, который отличается от sqlite и т.д. И т.д. Я использовал все dbs, перечисленные выше, но тот, к которому я все время возвращаюсь, тот, который делает вещи наиболее легко и гибко для меня, является MySQL.
Администраторы баз данных любят подавать MySQL так же, как любители программирования, любят bash PHP, и все же они выживают и процветают. Есть основания для этого - они просто работают, они просто делают что-то. Но в конце дня вы должны поиграть со всем этим и составить свой собственный разум.
Ответ 5
Я бы порекомендовал 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 делает именно то, что вы ожидаете от него в большинстве ситуаций, и обычно имеет очень вескую причину, когда он делает что-то неожиданное.
Ответ 6
PostgreSQL поддерживает более сложные запросы, лучше выполняет сложные запросы, но сложнее управлять.
MySQL быстрый, простой в управлении, но вы можете использовать в нем ограничения на расширенные запросы, хранимые процедуры и т.п.
Они достаточно похожи, что я рекомендую начинать с MySQL, но также изучать PostgreSQL.