Re: Any way to *not* use server-side prepared statements in Postgresql?

Поиск
Список
Период
Сортировка
От Radosław Smogura
Тема Re: Any way to *not* use server-side prepared statements in Postgresql?
Дата
Msg-id 201107190445.20906.rsmogura@softperience.eu
обсуждение исходный текст
Ответ на Any way to *not* use server-side prepared statements in Postgresql?  (Yang Zhang <yanghatespam@gmail.com>)
Список pgsql-jdbc
Yang Zhang <yanghatespam@gmail.com> Tuesday 19 of July 2011 04:07:05
> In (say) Python, I can issue:
>
>     psycopg2.connect(...).cursor().execute("select * from account
> where id='00100000006ONCrAAO'")
>
> which on the server results in the following log entries:
>
>     2011-07-18 18:56:08 PDT LOG:  duration: 6.112 ms  statement:
> select * from account where id='00100000006ONCrAAO'
>
> However, in Java, issuing:
>
>     conn.createStatement().executeQuery("select * from account where
> id = '00100000006ONCrAAO'");
>
> results in:
>
>     2011-07-18 18:44:59 PDT LOG:  duration: 4.353 ms  parse <unnamed>:
> select * from account where id = '00100000006ONCrAAO'
>     2011-07-18 18:44:59 PDT LOG:  duration: 0.230 ms  bind <unnamed>:
> select * from account where id = '00100000006ONCrAAO'
>     2011-07-18 18:44:59 PDT LOG:  duration: 0.246 ms  execute
> <unnamed>: select * from account where id = '00100000006ONCrAAO'
>
> Some searching shows that the PG JDBC driver *always* uses prepared
> statements:
> http://postgresql.1045698.n5.nabble.com/JDBC-prepared-statements-amp-serve
> r-side-prepared-statements-td1919506.html
>
> Is there any way to circumvent server prepared statements? If it makes
> a difference, I'm asking regarding PG 8.4 and 9.0. Thanks in advance.
Hi,
At the begining it's looks like your Java call is faster then python, and it's
about 1ms, so it's about 16%. Probably your call could be faster if You use
prepared statement, but...
Your call do not use prepared statements, as You even don't asked for those.
It uses extended query protocol which sends query in few "chunks", parse,
bind, execute - this is needed to allow result set fetches.

Regards,
Radosław Smogura


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

Предыдущее
От: Yang Zhang
Дата:
Сообщение: Any way to *not* use server-side prepared statements in Postgresql?
Следующее
От: Yang Zhang
Дата:
Сообщение: Re: Any way to *not* use server-side prepared statements in Postgresql?