From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Greg Stark" <greg(dot)stark(at)enterprisedb(dot)com> |
Cc: | "Gaetano Mendola" <mendola(at)bigfoot(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Limit changes query plan |
Date: | 2008-02-01 16:19:48 |
Message-ID: | 24911.1201882788@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Greg Stark" <greg(dot)stark(at)enterprisedb(dot)com> writes:
>> -> 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.
That side of the join isn't where the problem is, though.
If you're willing to invent new indexes, one on ecp,nctr,nctn,ncts,rvel
would probably fix the performance issue very nicely.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Gaetano Mendola | 2008-02-01 17:18:58 | Re: Limit changes query plan |
Previous Message | Tom Lane | 2008-02-01 16:16:20 | Re: <IDLE> and waiting |