Re: Pushing IN (subquery) down through UNION ALL?
От | Dave Johansen |
---|---|
Тема | Re: Pushing IN (subquery) down through UNION ALL? |
Дата | |
Msg-id | AANLkTin1mpf=fabt5nvOAnfkBTRR+taVtODTnsKusCn3@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Pushing IN (subquery) down through UNION ALL? (Vik Reykja <vikreykja@gmail.com>) |
Список | pgsql-performance |
On Thu, Feb 24, 2011 at 12:59 PM, Vik Reykja <vikreykja@gmail.com> wrote:
No, I just haven't taken the time to do the upgrade on all of our systems. It is definitely something that I have started to consider more strongly though.
Dave
On Thu, Feb 24, 2011 at 20:56, Dave Johansen <davejohansen@gmail.com> wrote:On Thu, Feb 24, 2011 at 12:33 PM, Vik Reykja <vikreykja@gmail.com> wrote:On Thu, Feb 24, 2011 at 16:14, Dave Johansen <davejohansen@gmail.com> wrote:EXPLAIN ANALYZE SELECT * FROM addressesall WHERE id = ANY (array(SELECT id FROM users WHERE name='A'));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?
(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?
No, I just haven't taken the time to do the upgrade on all of our systems. It is definitely something that I have started to consider more strongly though.
Dave
В списке pgsql-performance по дате отправления: