View Single Post

   
  #6 (permalink)  
Old 04-15-2008, 10:42 PM
Greg Stark
 
Posts: n/a
Default Re: Limit changes query plan


> -> Index Scan using i_oa_2_00_dt_for on t_oa_2_00_dt dt (cost=0.00..5.31 rows=1 width=8) (actual time=1.264..1.264 rows=0 loops=50)
> Index Cond: (dt.card_id = c.id)
> Filter: ((_to >= 1500) AND (_from <= 1550))
> Total runtime: 3399960.277 ms


Also, are 1500 and 1550 user-supplied parameters or are they part of a small set of possible values? You could consider having a partial index on "card_id WHERE _to >= 1500 AND _from <= 1550". The numbers don't even have to match exactly as long as they include all the records the query needs.

Another possibility is using something like "cube" from contrib to build a GIST index on <_to,_from>. I think you would need to load gist_btree as well for the first column on card_id. It doesn't help every use case though, you would have to experiment.

But before experimenting with either of those things, what does "VACUUM VERBOSE t_oa_2_00_dt" say?

Reply With Quote