From: | Vik Reykja <vikreykja(at)gmail(dot)com> |
---|---|
To: | Dave Johansen <davejohansen(at)gmail(dot)com> |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Pushing IN (subquery) down through UNION ALL? |
Date: | 2011-02-24 19:59:38 |
Message-ID: | AANLkTi=hnXV9gZ3y93cdLoiND3FbAXZraZrWH+=PLRiz@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
On Thu, Feb 24, 2011 at 20:56, Dave Johansen <davejohansen(at)gmail(dot)com> wrote:
> On Thu, Feb 24, 2011 at 12:33 PM, Vik Reykja <vikreykja(at)gmail(dot)com> wrote:
>
>> On Thu, Feb 24, 2011 at 16:14, Dave Johansen <davejohansen(at)gmail(dot)com>wrote:
>>
>>> You'll notice that the subquery version is doing the full join and then
>>> the filtering, but the explicitly listed version pushing the filtering into
>>> the plan before the join. Is there a way to make the subquery version
>>> perform the same optimization?
>>>
>>
>> EXPLAIN ANALYZE SELECT * FROM addressesall WHERE id = ANY (array(SELECT id
>> FROM users WHERE name='A'));
>>
>> (Tested on 9.0.3)
>>
>
> I just tested that on 8.3.3 and it performed quickly like I expected the
> other query to, so that did the trick.
>
Is there any good reason you're not using 8.3.14?
> Thanks a ton,
>
You're welcome.
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2011-02-24 20:11:29 | Re: Picking out the most recent row using a time stamp column |
Previous Message | Dave Johansen | 2011-02-24 19:56:44 | Re: Pushing IN (subquery) down through UNION ALL? |