Re: Speed of exist - Mailing list pgsql-performance

From Andy
Subject Re: Speed of exist
Date
Msg-id 51232A36.6000701@orprovision.com
Whole thread Raw
In response to Speed of exist  (Bastiaan Olij <bastiaan@basenlily.me>)
Responses Re: Speed of exist
List pgsql-performance
Limit the sub-queries to 1, i.e. :

select 1 from Table2 where Table2.ForeignKey = Table1.PrimaryKey fetch first 1 rows only

Andy.

On 19.02.2013 07:34, Bastiaan Olij wrote:
> Hi All,
>
> Hope someone can help me a little bit here:
>
> I've got a query like the following:
> --
> select Column1, Column2, Column3
> from Table1
> where exists (select 1 from Table2 where Table2.ForeignKey =
> Table1.PrimaryKey)
> or exists (select 1 from Table3 where Table3.ForeignKey = Table1.PrimaryKey)
> --
>
> Looking at the query plan it is doing a sequential scan on both Table2
> and Table3.
>
> If I remove one of the subqueries and turn the query into:
> --
> select Column1, Column2, Column3
> from Table1
> where exists (select 1 from Table2 where Table2.ForeignKey =
> Table1.PrimaryKey)
> --
>
> It is nicely doing an index scan on the index that is on Table2.ForeignKey.
>
> As Table2 and Table3 are rather large the first query takes minutes
> while the second query takes 18ms.
>
> Is there a way to speed this up or an alternative way of selecting
> records from Table1 which have related records in Table2 or Table3 which
> is faster?
>
> Kindest Regards,
>
> Bastiaan Olij
>
>
>

--

------------------------------------------------------------------------------------------------------------------------

*Andy Gumbrecht*
Research & Development
Orpro Vision GmbH
Hefehof 24, 31785, Hameln

+49 (0) 5151 809 44 21
+49 (0) 1704 305 671
andy.gumbrecht@orprovision.com
www.orprovision.com



            Orpro Vision GmbH
            Sitz der Gesellschaft: 31785, Hameln
            USt-Id-Nr: DE264453214
            Amtsgericht Hannover HRB204336
            Geschaeftsfuehrer: Roberto Gatti, Massimo Gatti, Adam Shaw


------------------------------------------------------------------------------------------------------------------------


            Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige
            Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und
            vernichten Sie diese Mail. Das unerlaubte Kopieren, jegliche anderweitige Verwendung sowie die unbefugte
            Weitergabe dieser Mail ist nicht gestattet.


------------------------------------------------------------------------------------------------------------------------


            This e-mail may contain confidential and/or privileged information. If you are not the intended recipient
            (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any
            unauthorized copying, disclosure, distribution or other use of the material or parts thereof is strictly
            forbidden.


------------------------------------------------------------------------------------------------------------------------



pgsql-performance by date:

Previous
From: Bastiaan Olij
Date:
Subject: Speed of exist
Next
From: Bastiaan Olij
Date:
Subject: Re: Speed of exist