Re: Query Optimizer Failure / Possible Bug - Mailing list pgsql-performance

From Hannes Dorbath
Subject Re: Query Optimizer Failure / Possible Bug
Date
Msg-id d2a6m1$tkh$1@news.hub.org
Whole thread Raw
In response to Re: Query Optimizer Failure / Possible Bug  (Josh Berkus <josh@agliodbs.com>)
List pgsql-performance
Thank you very much for your reply. I'll try to modify it.


Josh Berkus wrote:
> Hannes,
>
>
>>The query and the corresponding EXPLAIN is at
>>
>>http://hannes.imos.net/query.txt
>
>
> The problem is that you're using a complex corellated sub-select in the SELECT
> clause:
>
>     SELECT
>       d.delivery_id,
>       da.article_no,
>       da.amount,
>       (
>           SELECT
>             COUNT(*)
>           FROM
>             serials s
>             INNER JOIN rma_ticket_serials rts ON (
>                 s.serial_id = rts.serial_id
>             )
>           WHERE
>             s.article_no  = da.article_no AND
>             s.delivery_id = d.delivery_id AND
>             rts.replace   = FALSE
>       ) AS replaced_serials
>
> This means that the planner pretty much has to iterate over the subquery,
> running it once for each row in the result set.   If you want the optimizer
> to use a JOIN structure instead, put the subselect in the FROM clause.
>

--
imos  Gesellschaft fuer Internet-Marketing und Online-Services mbH
Alfons-Feifel-Str. 9 // D-73037 Goeppingen  // Stauferpark Ost
Tel: 07161 93339-14 // Fax: 07161 93339-99 // Internet: www.imos.net

pgsql-performance by date:

Previous
From: Will LaShell
Date:
Subject: Re: Follow-Up: How to improve db performance with $7K?
Next
From: Hannes Dorbath
Date:
Subject: Re: Query Optimizer Failure / Possible Bug