Re: 7.3 vs 7.2 - different query plan, bad performance

Поиск
Список
Период
Сортировка
От Ryszard Lach
Тема Re: 7.3 vs 7.2 - different query plan, bad performance
Дата
Msg-id 20030616114147.GJ1734@siaco.id.pl
обсуждение исходный текст
Ответ на Re: 7.3 vs 7.2 - different query plan, bad performance  (Manfred Koizar <mkoi-pg@aon.at>)
Ответы Re: 7.3 vs 7.2 - different query plan, bad performance
Re: 7.3 vs 7.2 - different query plan, bad performance
Список pgsql-performance
On Mon, Jun 16, 2003 at 12:31:08PM +0200, Manfred Koizar wrote:
>
> Ok, now we have something to work on.
>
> .)  I guess you are not really interested in
>
>     SELECT count(*) FROM v_c;
>
> If you were, you would simply
>
>     SELECT count(*) from b;
>

That's right.

> Try
>
>     EXPLAIN ANALYSE SELECT * FROM v_c;
>
> and you will see that 7.2 produces a plan that is almost equal to that
> produced by 7.3.

That is not.

I'm, pasting query plan from 7.2 once again (after vacuum analyze):

siaco=# explain analyze select count(*) from v_c;
NOTICE:  QUERY PLAN:
Aggregate  (cost=213.83..213.83 rows=1 width=8) (actual time=90.43..90.43 rows=1 loops=1)
  ->  Hash Join  (cost=29.40..200.63 rows=5281 width=8) (actual time=11.14..78.48 rows=5281 loops=1)
        ->  Seq Scan on b t1  (cost=0.00..78.81 rows=5281 width=4) (actual time=0.01..26.40 rows=5281 loops=1)
        ->  Hash  (cost=25.32..25.32 rows=1632 width=4) (actual time=10.99..10.99 rows=0 loops=1)
              ->  Seq Scan on a t2  (cost=0.00..25.32 rows=1632 width=4) (actual time=0.02..6.30 rows=1632 loops=1)
Total runtime: 90.74 msec
EXPLAIN

> might work.  But I think I don't understand your requirements.  Why
> are you not interested in the children_count for an id that doesn't
> have a parent itself?

The point is, that my tables (and queries) are a 'little' bit more complicated
and I wanted to give as simple example as I could. I think that problem is that
subselects are _much_slower_ executed in 7.3 than in 7.2, just as someone
already wrote here.


> .)  To answer your original question:  The difference seems to be that
> 7.2 does not evaluate the subselect in the SELECT list, when you are
> only asking for count(*).

That looks reasonably.

Thanks for all your help,

Richard.

--
"First they ignore you. Then they laugh at you. Then they
fight you. Then you win." - Mohandas Gandhi.

В списке pgsql-performance по дате отправления:

Предыдущее
От: Manfred Koizar
Дата:
Сообщение: Re: 7.3 vs 7.2 - different query plan, bad performance
Следующее
От: Manfred Koizar
Дата:
Сообщение: Re: 7.3 vs 7.2 - different query plan, bad performance