Подтвердить что ты не робот

Для новичков существует большая разница между MySQL и PostgreSQL

Есть ли большая разница между MySQL и PostgreSQL для новичков, подобных мне, с использованием базовых операторов выбора и т.п. или же основные отличия от использования более сложных запросов?

4b9b3361

Ответ 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:

Между тем, PostgreSQL делает именно то, что вы ожидаете от него в большинстве ситуаций, и обычно имеет очень вескую причину, когда он делает что-то неожиданное.

Ответ 6

PostgreSQL поддерживает более сложные запросы, лучше выполняет сложные запросы, но сложнее управлять.

MySQL быстрый, простой в управлении, но вы можете использовать в нем ограничения на расширенные запросы, хранимые процедуры и т.п.

Они достаточно похожи, что я рекомендую начинать с MySQL, но также изучать PostgreSQL.