Re: PGStatement#setPrepareThreshold

Поиск
Список
Период
Сортировка
От Oliver Jowett
Тема Re: PGStatement#setPrepareThreshold
Дата
Msg-id 44D19215.1070002@opencloud.com
обсуждение исходный текст
Ответ на PGStatement#setPrepareThreshold  (Csaba Nagy <nagy@ecircle-ag.com>)
Ответы Re: PGStatement#setPrepareThreshold
Список pgsql-jdbc
Csaba Nagy wrote:
> Hi all,
>
> Question: will PGStatement.setPrepareThreshold(1) cause server side
> prepare to be used already on the first execution, or only after the
> second one ?

It should cause it to be used on the first execution (at least that was
the intent)

The logic looks like:
- On statement creation set count=0
- On each execution:
   - If this statement is a PreparedStatement, increment count
   - If threshold == 0 or count < threshold, make this execution "oneshot"
   - Execute query

"oneshot" queries use the unnamed statement (with one exception: queries
that will be backed by a portal use a named statement)

> I couldn't figure out this from the log files... postgres logs the
> queries as <unnamed>, but that doesn't tell me too much.

If you're seeing <unnamed> then those queries aren't using server-side
prepare (the unnamed statement is also special as it's the trigger for
the planner behaviour that you are trying to avoid..) .. so it seems
that you are not managing to trigger server-side prepare for some
reason. Maybe you are using a plain Statement?

-O

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

Предыдущее
От: Csaba Nagy
Дата:
Сообщение: PGStatement#setPrepareThreshold
Следующее
От: Csaba Nagy
Дата:
Сообщение: Re: PGStatement#setPrepareThreshold