This is a discussion on parameterized queries and prepareThreshold within the pgsql Interfaces jdbc forums, part of the PostgreSQL category; --> I'm using version 8.2.3 with latest jdbc and noticed that certain queries take a very long time even though ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| I'm using version 8.2.3 with latest jdbc and noticed that certain queries take a very long time even though I have partial indexes that it should be using. It uses them and performs very quickly if I hard code the constants (no preparedStmt) and do an explain. I noticed this in the changelog and figured it was the problem but wanted to make sure I wasn't on a wild goose chase: "Protocol-level unnamed prepared statements are re-planned for each set of BIND values (Tom) This improves performance because the exact parameter values can be used in the plan." I'm using hibernate and can't determine from the docs if what they use are considered named/unnamed as stated in the docs above but i'm guessing by the results they are (S_123/C_124). LOG: duration: 23926.439 ms execute S_123/C_124: select ... PIV1 = ? OR PIV2 = ? ... DETAIL: parameters: $1 = 'PARTIALINDEXVALUE1', $2 = 'PARTIALINDEXVALUE2' In hibernate this is my connection string: <property name="hibernate.connection.driver_class">org.postg resql.Driver</property> <property name="hibernate.dialect">org.hibernate.dialect.Pos tgreSQLDialect</property> <property name="hibernate.connection.url"> jdbc </property> can i verify somehow that the prepareThreshold parameter is making it into the jdbc driver? thanks for any help -- Gene Hart ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster |
| ||||
| Gene wrote: > jdbc You need '&' not ';' in that URL. -O ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings |