Справочное руководство по MySQL версии 4.1.1-alpha


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 нам неизвестен.

    Возможность Версия MySQL

    Подзапросы 4.1

    Внешние ключи 5.0 (3.23 с InnoDB)

    Представления 5.0

    Хранимые процедуры 5.0

    Триггеры 5.0

    Объединения 4.0

    Полные связи 4.1

    Ограничения 4.1 или 5.0

    Курсоры 4.1 или 5.0

    R-деревья 4.1 (для таблиц MyISAM)

    Наследование таблиц Не планируется

    Расширяемая система типов Не планируется

    Другие причины, по которым можно предпочесть 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.

        Полный список недостатков приведен в первой таблице настоящего раздела.




        - Начало -  - Назад -  - Вперед -