1.11.2.2 Сравнение возможностей MySQL и PostgreSQL - часть 5
В MySQL сложнее организовывались обновления, затрагивающие несколько таблиц сразу. Впрочем, это было исправлено в MySQL 4.0.2 реализацией многотабличного UPDATE и в MySQL 4.1 - с помощью подзапросов. В MySQL 4.0 можно одновременно удалять данные из нескольких таблиц. See section 6.4.6 Синтаксис оператора DELETE.
Ниже перечислены преимущества PostgreSQL по сравнению с MySQL на сегодняшний день.
Так как нам известен план разработки новых версий MySQL, мы включили в приведенную ниже таблицу версии MySQL, в которых будет реализована поддержка соответствующих возможностей. К сожалению, в сопоставлении мы сделать этого не могли, так как план разработки PostgreSQL нам неизвестен.
Другие причины, по которым можно предпочесть PostgreSQL:
В некоторых случаях PostgreSQL оказывается ближе к ANSI SQL.
Работу PostgreSQL можно ускорить, выполняя код в виде хранимых процедур.
При хранении географических данных R-деревья дают PostgreSQL преимущество перед MySQL (примечание: в MySQL версии 4.1 для таблиц MyISAM реализована поддержка R-деревьев).
Оптимизатор PostgreSQL в некоторых случаях способен дать лучший в сравнении с существующим на сегодняшний день оптимизатором MySQL результат. Особенно это заметно при слиянии таблиц без соответствующих ключей или при слиянии с использованием разных ключей в сочетании с логическим оператором OR. Набор результатов тестов скорости MySQL, расположенный по адресу http://www.mysql.com/information/benchmarks.html покажет, каких конструкций следует избегать при работе с различными базами данных.
Команда разработчиков PostgreSQL, пишущих код для сервера, больше.
Недостатки PostgreSQL по сравнению с MySQL:
VACUUM затрудняет использование PostgreSQL в постоянно работающих системах.
Наличие только транзакционных таблиц.
Значительно более медленная работа команд INSERT, DELETE и UPDATE.
Полный список недостатков приведен в первой таблице настоящего раздела.