Re: join-performance problem

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: join-performance problem
Дата
Msg-id 20020430085706.R90531-100000@megazone23.bigpanda.com
обсуждение исходный текст
Ответ на join-performance problem  (Wolfgang.Fuertbauer@ebewe.com)
Список pgsql-sql
On Tue, 30 Apr 2002 Wolfgang.Fuertbauer@ebewe.com wrote:

> Hi,
>
> I have problem using joins: there are indexes which could be used, but
> sequential-scan takes place;

Have you run vacuum analyze on the database? Some of those statistics
down there look suspiciously like the default statistics (1000 rows in
faktzeilen)
> see:
>
> >explain SELECT b.Kdnr, date_part('year', b.Datum), d.Name, e.Name, a.Menge
> ,
> >     a.Rabproz, a.Netto - (a.netto * a.rabproz / 100),
> >     a.Netto * b.kurs - ((a.netto * b.kurs) * a.rabproz / 100), 'RG'
> >FROM Faktzeilen a, Fakt b, Artikel c, Kollektion d, ArGruppen e
> >where a.Fanr = b.nr
> >     and c.nr = a.Arnr
> >     and c.Kollektion = d.Nr
> >     and (c.Gruppe = e.nr or c.gruppe = 0)
> >     and b.kdnr = 49736;
>
> >NOTICE:  QUERY PLAN:996" 9L, 376C written
> >
> >Nested Loop  (cost=17.08..265.50 rows=30 width=152)
> >  ->  Nested Loop  (cost=17.08..90.50 rows=5 width=115)
> >        ->  Nested Loop  (cost=17.08..66.32 rows=5 width=78)
> >              ->  Hash Join  (cost=17.08..42.14 rows=5 width=51)
> >                    ->  Seq Scan on faktzeilen a  (cost=0.00..20.00
> rows=1000 width=35)
> >                    ->  Hash  (cost=17.07..17.07 rows=5 width=16)
> >                          ->  Index Scan using fakt_tbkundentbfakt_key on
> fakt b  (cost=0.00..17.07 rows=5 width=16)
> >              ->  Index Scan using artikel_pkey on artikel c
> (cost=0.00..4.82 rows=1 width=27)
> >        ->  Index Scan using kollektion_pkey on kollektion d
> (cost=0.00..4.82 rows=1 width=37)
> >  ->  Seq Scan on argruppen e  (cost=0.00..20.00 rows=1000 width=37)
> >
> >EXPLAIN
>
> my problem is the sequential scan for tabel faktzeilen (which has 250000
> rows);
> the following indexes exist:
>
> primary index: fanr, znr
> index2: fanr
> index3: fanr, arnr, arname, pknr
>
> can one tell me why index2 is not used for the join?
>
> Thanks in advance
>
> Wolfgang
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>



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

Предыдущее
От: Wolfgang.Fuertbauer@ebewe.com
Дата:
Сообщение: join-performance problem
Следующее
От: Tom Lane
Дата:
Сообщение: Re: join-performance problem