[mdk-re] MySQL vs. PostgreSQL
Mikhail Zabaluev
=?iso-8859-1?q?mookid_=CE=C1_sigent=2Eru?=
Пт Янв 12 13:36:14 MSK 2001
Hello Alexander,
On Fri, Jan 12, 2001 at 01:42 +0200, Alexander Bokovoy wrote:
>
> > Да уж, "фички" безтранзакционного MySQL меня уже достали - то таблицу
> > забудешь залочить со всеми алиасами, которые используются в запросах
> > (поубiвав бы!..).
> Так используйте транзакционный MySQL -- он есть в Sisyphus. :-)
Следует заметить, что "фичка" транзакций в MySQL - вещь новая и в силу
этого, возможно, не очень хорошо отлаженная. Работают транзакции только на
новом формате баз, не совместимом с ISAM и MyISAM (поддержка трех
форматов, кстати, должна несколько раздувать memory footprint сервера).
Для простеньких вебсерверов с небольшой нагрузкой MySQL - то, что нужно:
он быстрее всех выполняет простые запросы (сложные он и не умеет), когда
эти запросы не конкурируют за изменения таблиц. А когда нагрузка
возрастает и запросы начинают конкурировать... В MySQL доступ к данным
разграничивается на уровне таблиц, и пока какой-нибудь запрос, скажем,
изменяет несколько рядов в таблице, желающие что-нибудь из таблицы выбрать
ждут своей очереди. Сравните с Oracle и Interbase, где возможны
конкурентные операции не то что над таблицами, а над отдельными полями
за счет поддержки версий данных. Чего уж говорить об отображениях,
триггерах, сохраненных процедурах, контроле целостности... Впрочем, по
идеологии разработчиков MySQL, "все сие суть лжа антихристова, бо" снижает
голую производительность.
В-общем, таков мой FUD от пользователя MySQL с полуторалетним стажем,
выросшего из коротких RDBMS-штанишек :) Возможно, я кое в чем пользуюсь
устаревшими данными. Если MySQL лучше, чем я о нем думаю, поправьте меня.
--
Stay tuned,
MhZ mailto:mookid на sigent.ru
-----------
There is no sin but ignorance.
-- Christopher Marlowe
Подробная информация о списке рассылки community