Re: triple self-join crawling

From: Martin Marques <martin(at)bugs(dot)unl(dot)edu(dot)ar>
To: mailreg(at)numerixtechnology(dot)de
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: triple self-join crawling
Date: 2007-03-19 22:00:21
Message-ID: 45FF07F5.4020204@bugs.unl.edu.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

T E Schmitz escribió:
>
> QUERY PLAN
> GroupAggregate (cost=1370368.19..1435888.88 rows=5801 width=56) (actual
> time=11945.030..13163.156 rows=5801 loops=1)
> -> Sort (cost=1370368.19..1379715.86 rows=3739067 width=56) (actual
> time=11944.753..12462.623 rows=120117 loops=1)
> Sort Key: history.stock, history."day", history.high, history.low
> -> Hash Left Join (cost=160.02..391554.63 rows=3739067
> width=56) (actual time=52.746..3778.409 rows=120117 loops=1)
> Hash Cond: ((("outer".stock)::text =
> ("inner".stock)::text) AND ("outer"."day" = "inner"."day"))
> Join Filter: ("inner"."day" >= ("outer"."day" - 7))
> -> Nested Loop Left Join (cost=0.00..204441.26
> rows=3739067 width=57) (actual time=0.077..2313.375 rows=120117 loops=1)

It's estimating >3M, but it finds 120K rows.

> Join Filter: (("inner".stock)::text =
> ("outer".stock)::text)
> -> Seq Scan on history (cost=0.00..131.01
> rows=5801 width=34) (actual time=0.016..34.845 rows=5801 loops=1)
> -> Index Scan using idx_history_day on history
> past_month (cost=0.00..22.32 rows=645 width=23) (actual
> time=0.020..0.185 rows=21 loops=5801)
> Index Cond: ((past_month."day" >=
> ("outer"."day" - 30)) AND (past_month."day" < "outer"."day"))
> -> Hash (cost=131.01..131.01 rows=5801 width=23) (actual
> time=52.608..52.608 rows=5801 loops=1)
> -> Seq Scan on history past_week (cost=0.00..131.01
> rows=5801 width=23) (actual time=0.010..25.110 rows=5801 loops=1)
>
> Total runtime: 13187.729 ms

Try running a vacuum analyze on the database (or at least the tables
which differ in rows estimated and actual (history for example))

--
select 'mmarques' || '@' || 'unl.edu.ar' AS email;
---------------------------------------------------------
Martín Marqués | Programador, DBA
Centro de Telemática | Administrador
Universidad Nacional
del Litoral
---------------------------------------------------------

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Paul Lambert 2007-03-20 02:25:38 Issue with copying data from a text file.
Previous Message Karthikeyan Sundaram 2007-03-19 20:41:31 Re: create view with check option