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 по дате отправления: