From: | Gavin Flower <GavinFlower(at)archidevsys(dot)co(dot)nz> |
---|---|
To: | pgsql-general(at)postgresql(dot)org, srobertjames(at)gmail(dot)com |
Subject: | Re: SORT and Merge Join via Index |
Date: | 2013-08-14 00:21:01 |
Message-ID: | 520ACD6D.8000504@archidevsys.co.nz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 14/08/13 12:02, Robert James wrote:
> I noticed that when I have an index on (a,b) of table t, and I do an
> SELECT * FROM t ORDER BY a ASC, it doesn't use the index. When I
> create a new index of only a, it does use the index. Why is that?
>
> And, more importantly, when I do a query involving a merge join of
> table t, which requires sorting table t, the planner does the sort
> manually using quicksort, not using the index. The time that step
> takes is identical to the ORDER BY without using the index. What do I
> need to do to have Postgres use the index for the merge join?
>
> (Postgres 8.3)
>
> Thanks!
>
>
It might be that the RAM taken up by an index of (a,b) rather than (a)
triggers the plan to reject it and/or the extra I/O to scan the extra
disk blocks required by the index of (a,b)?
I cringe when I used to gaily use indexes without any regard for these
factors! :-(
Cheers,
Gavin
From | Date | Subject | |
---|---|---|---|
Next Message | Guy Rouillier | 2013-08-14 00:40:52 | Re: MinGW compiled client library |
Previous Message | Robert James | 2013-08-14 00:04:44 | Re: SORT and Merge Join via Index |