|
plpgsql оптимизация кода функций
|
|||
---|---|---|---|
#18+
Люди! У меня такой вот трудный вопрос. Етсь несколько функций, возвращающих различные типы данных, при этом набор аргументов у них почти что идентичен (если быть точным, у большинства функций он идентичен полностью) Для пущего удобства я и алиасы для аргументов придумал одинаковые - и теперь код между declare и begin в каждой функции практически повторяется. А мне их еще писать и писать - в основном, с теми же аргументами. Дык что ж теперь - брать этот кусок и тупо копировать в новую функцию? А более продвинутого способа не существует? Или лучше вообще переходить на ся или на plpython? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2004, 17:22 |
|
plpgsql оптимизация кода функций
|
|||
---|---|---|---|
#18+
Ну ты ведь сам ответил на свой вопрос! Да,да,да! Если хочешь ООП и прочего - перелазь на си. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2004, 19:57 |
|
plpgsql оптимизация кода функций
|
|||
---|---|---|---|
#18+
получай результат функции типа "запись" (или набор записей). И бери нужные поля результата SELECT -ом. Если в одном месте (т.е. по одной выборке) нужно получить несколько значений (разного вида) - может случится (дополнительно к удобству писательства) выигрыш в скорости. (напротив, если обычно требуется что-то одно - введи параметр ветвления алгоритма - для перехода на ветвь, вычисляющую определенное поле результата, т.е. остальные поля результата возвращай не вычисляя). Если же и так результатами были (разные по структуре) записи (наборы записей) (а не скаляры) - тады ой. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2004, 16:14 |
|
|
start [/forum/topic.php?fid=53&tid=2007970]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 130ms |
0 / 0 |