Dean Rasheed wrote: >> I can confirm, when I call ps.setPrepareThreshold(1) the query is slow >> immediately, so the plan must be different with the server prepared >> statements. > > You can confirm that from psql by doing > > EXPLAIN ANALYSE SELECT ... ; > > and then > > PREPARE ps( ... ) AS SELECT ... ; > EXPLAIN ANALYSE EXECUTE ps ( ... ) ; > > using your query and the parameters in question. > > It is entirely possible that the plan chosen for the prepared > statement will be worse than the one used when the parameters are > known at planning time. The prepared statement doesn't know what > parameters are going to be used, so it can't always come up with the > best plan. See the notes in the PREPARE manual page: > http://www.postgresql.org/docs/9.0/static/sql-prepare.html Could the parameter cursor_tuple_fraction play a role here too? Yours, Laurenz Albe -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general