Re: ORDER BY with plpgsql parameter

Поиск
Список
Период
Сортировка
От Thomas Schoen
Тема Re: ORDER BY with plpgsql parameter
Дата
Msg-id 200406021812.38704.t.schoen@vitrado.de
обсуждение исходный текст
Ответ на Re: ORDER BY with plpgsql parameter  (Richard Huxton <dev@archonet.com>)
Ответы Re: ORDER BY with plpgsql parameter  (DeJuan Jackson <djackson@speedfc.com>)
Re: ORDER BY with plpgsql parameter  (Richard Huxton <dev@archonet.com>)
Список pgsql-general
> You want to build a dynamic query (sorted in different ways depending on
> a function parameter).
yes.

>
> You don't want to use the dynamic query statement (EXECUTE).
yes, because it seems to me, that "for in execute" is slower than the direct
way. Is that right?
>
> The whole point of plpgsql is that the queries can be compiled and
> pre-planned. If you want to change the sorting then that implies a
> different plan, which implies using the dynamic query feature.
OK, does that mean, that it is no difference in performance whether i use "FOR
IN EXECUTE" or two different functions with different sorting?

>
> What you want to do is possible if you use one of the interpreted
> languages, e.g. pltcl/plperl (plphp?). Of course, that means none of
> your query plans get compiled.
What happens to the query plan if i use function-parameters in the where
clause of my statement? Is the function recompiled then?

Conclusion: if i want to sort inside the functions depending on function
parameters, the best way to do it is using "FOR IN EXECUTE"??
Is that right?

В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: statement-level statistics are disabled error (postgresql.conf)
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Insert speed question