On Wed, 2007-10-17 at 20:37 +0100, Richard Huxton wrote: > Ow Mun Heng wrote: > > Query2 is way faster mainly because the plan does not choose a seq scan > > on a table w/ >20million rows. > > The only difference between Query 1 and query 2 is that the > > audio_key_dtime is chosen from a table rather than provided on the > > query. > > > > I'm not sure why this is the case and why it chooses such plans. > > (should I be posting to pg-performance?) > > Your query plans don't seem to match your queries. That makes it > difficult to provide meaningful advice. > > Well, then that makes both you and me(both) stumped. because the 2 queries are exactly the same except for the data part. Index Cond: ((audit_key_dtime >= $0) AND (audit_key_dtime < $1)) Index Cond: ((audit_key_dtime >= '2007-08-08 18:00:00'::timestamp without time zone) AND (audit_key_dtime < '2007-08-08 18:01:00'::timestamp without time zone)) This is _the_ only difference between the 2 queries where on one, the dates are provided, and the other is selected from a table. I have no idea why the plans are so different between the two. ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq