trigger или rule? Процедурные языки...

kavenchuk
Дата: 03.10.2004 02:15:50
При возможности реализовать требуемую функциональность и через rule и через триггеры чем лучше (быстрее будет работать) пользоваться?

И есть ли разница (опять в первую очередь - скорость) на каком языке писАть процедуры? Использует ли pg компиляцию в байткод python при использовании его в качестве процедурного языка?

И если у кого есть доводы в пользу написания процедур / триггеров на python или tcl - может поделитесь?

--
С уважением,
Ярослав Кавенчук.
PJD
Дата: 03.10.2004 06:11:43
По поводу rule vs trigger:
IMHO, скорость нужно измерять в каждом конкретном случае. Но поскольку логика работы правил и триггеров отличается (правило срабатывает до выполнения запроса, когда неизвестно какие фактически строки будут изменены/удалены и сколько их будет) - вероятность написать один и тот же функционал через правило и через триггер невелика.
По-моему, поскольку правило переписывает (и усложняет) исходный запрос - с триггером жить проще, а rule стоит использовать в основном только для обновления представлений.
На www.varlena.com/varlena/GeneralBits почти на все вопросы "использовать rule or trigger" ответ - триггер. В частности, и по соображениям производительности.

По поводу языка:
Если основная нагрузка ложится на выполнение SQL-запросов - разница невелика. От языка будет зависеть только скорость выполнения кода, под который язык заточен, для perl - обработка строк, для pl/R - каких-то статистических вычислений. Про python/tcl ничего сказать не могу, не пользуюсь.
kavenchuk
Дата: 04.10.2004 12:55:40
Спасибо!

--
С уважением,
Ярослав Кавенчук
strizh
Дата: 05.10.2004 19:08:24
На tcl делал функции, когда требовались глобальные (внутри одного соединения) переменные. В других языках такой возможности не нашел (ну не на C ж писАть, в конце-концов, что-то простое !)
kavenchuk
Дата: 06.10.2004 11:09:17
Python?

--
С уважением,
Ярослав Кавенчук