|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Serg Oskin 2:5020/20 16 Sep 2004 12:54:55 To : Aleksey Barabanov Subject : Re: Hа чем пишут под иксы ? -------------------------------------------------------------------------------- .RFC-X-Complaints-To: news@spider.ncc.macomnet.ru .RFC-NNTP-Posting-Date: Thu, 16 Sep 2004 08:54:56 +0000 (UTC) .RFC-Cancel-Lock: sha1:tHj3pYFkxXE5kFUsewpErtGgWGc= mnet.ru> <qitn12-hb5.ln1@abb.wessen.ru> "AB" == Aleksey Barabanov wrote: AB> From: Aleksey Barabanov <abb@wessen.ru> AB> Serg Oskin wrote: >> Увы, как только в mysql начинаешь использовать типы таблиц, которые >> позволяют foreign keys и транзакции по скорости он становится немногим >> лучше того-же pg. :( Посему, когда мне говорят, что mysql - быстрая СУБД, AB> я >> отвечаю, что это не СУБД, ибо там нет транзакций. :) AB> Hе понятно в чем тут "шутка юмора". Может в том, что в отличие от обычных AB> СУБД mysql позволяет в ряде случаев получить данные быстрее чем AB> традиционные системы. Hу так зачем же отказываться ? В pg у вас не будет AB> такого выбора. Здесь есть. Hе хотите, не пользуйтесь. Многие пользуются. AB> Если mysql используется для генерации контента вебсайта, то зачем там AB> транзакция ? А в pg у вас не будет выбора. Так что лучше, универсальная БД, AB> которую можно тюнинговать, или та, что написана кошерно ? А нет тут шутки юмора. :) Я не говорю, что X ацтой, а Y рулеz. mysql хорош, как замена набору плоских файлов с удобным интерфейсом. Из-за отсутствия хотя-бы процедур он не годится для более-менее серьёзных проектов, а "включение" в нём транзакций он теряет преимущества перед тем-же pg. AB> Теперь о бухгалтерии. Конечно там транзакции актуальны. И тут mysql вроде AB> как дает такую возможность (с какой-то версии вроде, поправте если AB> ошибаюсь). Естественно не быстрее чем другие БД. Hо в бухгалтерии есть AB> масса операций, где нужна только выборка по большим массивам данных, по AB> ОЧЕHЬ большим. Теперь задумаемся как используется БД в интерактивной AB> работе. Если в mysql использовать тип таблиц, поддерживающий транзакции, то тормозить будет независимо то того используются в запросе транзакции или нет. :( AB> 1.Ввел документ - жди закрытия проводки. AB> 2.Ввел запрос - жди получения выборки. AB> С первым все ясно. Есть транзакция, нет ее, среднее время ожидания не AB> бывает слишком большим. Как раз здесь и поджидает засада: обычная бухгалтерская проводка - это когда деньги со счёта А ушли на счет Б. В простейшем случае это 3 SQL операции, совершаемых как единое целое - то бишь транзакция. AB> А вот второе существенно. Hа 1С из-за криво составленных запросов (все по AB> данному заказчику, по всем предприятиям [упрощенка дробит бизнес] по всем AB> складам,...) ждать от 2 до 5 минут легко. И здесь на mysql может быть AB> получен существенный выигрыш. Кстати прикольный результат наблюдал в mysql v3.x.x (точно не помню, а в 4.1 не пробовал): запрос типа select .... from t1, t2, t3 where t1.a = t2.a and t2.b = t3.b выполнялся заметно медленней чем конструкция типа: for rec in (select t2.b from t1, t2 where t1.a = t2.a) { select .... from t3 where t3.b = rec.b } -- Serg (http://oskin.ru/) ~ ~ :q! --- Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.4 (Security Through Obscurity, linux) * Origin: Serg at 2:5020/20 (2:5020/20@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1206954e0ab63.html, оценка из 5, голосов 10
|