Re: Query performance PLEASE HELP

From: Dmitry Tkach <dmitry(at)openratings(dot)com>
To:
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-general(at)postgresql(dot)org
Subject: Re: Query performance PLEASE HELP
Date: 2003-01-31 22:36:41
Message-ID: 3E3AFA79.1030405@openratings.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> Sorry, it was the same query as before - just had 'COMP%' instead of
> 'POST%':
>
> rapidb# explain analyze select * from tradestyle ts, managed_supplier
> ms where ts.duns=ms.duns and ts.name like 'COMP%' and ms.subscriber=74
> order by ts.name limit 10;
> NOTICE: QUERY PLAN:
>
> Limit (cost=0.00..16.14 rows=1 width=192) (actual
> time=6926.37..297527.99 rows=10 loops=1)
> -> Nested Loop (cost=0.00..16.14 rows=1 width=192) (actual
> time=6926.36..297527.94 rows=11 loops=1)
> -> Index Scan using tradestyle_name_idx on tradestyle ts
> (cost=0.00..7.98 rows=1 width=35) (actual time=51.99..295646.78
> rows=41020 loops=1)
> -> Index Scan using managed_supplier_idx on managed_supplier
> ms (cost=0.00..5.82 rows=1 width=157) (actual time=0.04..0.04 rows=0
> loops=41020)
> Total runtime: 297528.31 msec

... actually, after seom thinking, this plan seems to actually be WORSE
that the other one - it makes about 41000 inner loops through
managed_supplier, while there are only about 11000 entries in
managed_supplier with subscriber=74, so, if it did it the other way
around (like in the first case), that would result in only 11K inner
loops - 4 times less... (there is also an overhead of sorting, but it is
negligeable, because the intersection is only 110 rows)

So, I just want to point it out again - the query plan does not seem to
be a problem at all - whichever one it chooses, the preformnace is much,
much worse then I would expect -
according to pg_statio_user_tables, it only reads less then 20000 blocks
from disk for this query, which totals to about 5K per second... How
come it is so slow???

Dima

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Stephane Charette 2003-01-31 22:38:06 gp_dump: error in finding the last system oid: ERROR: get_relation_info: Relation 1262 not found
Previous Message Grzegorz Nowak 2003-01-31 22:29:20 basic access problem on W2K