Re: Execution time problem - Mailing list pgsql-sql

From Iklódi Lajos
Subject Re: Execution time problem
Date
Msg-id 3C1FA8D5.5258ED51@mithrandir.hu
Whole thread Raw
In response to Re: Execution time problem  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
List pgsql-sql
Thanks for the good idea! It really decided my problems. It was on 7.1.3.

Lajos

Stephan Szabo írta:

> On Tue, 18 Dec 2001, [iso-8859-2] Iklódi Lajos wrote:
>
> > Can anybody help me to resolve a problem?
> >
> > In the first example, when Postgres uses index, execution time is good.
> > In the second example, tables are with the same structure, but Postgres
> > uses seq scan instead of using unique index "rentet_rttsz_key", so
> > execution time becomes very bad.
>
> Have you run vacuum analyze? What version(s) are you running.
> Given that the second seems to be estimating over 24000 matching
> rows and the first 1, that probably has something to do with it.
>
> >
> > EXAMPLE 1
> >
> > test1=# explain
> > test1-# select rtcikkod, vttsz
> > test1-# from rvtet, rentet
> > test1-# where
> > test1-#   rvtet.vttsz= 13524
> > test1-#   and rvtet.vtrtsz=rentet.rttsz
> > test1-# ;
> > NOTICE:  QUERY PLAN:
> >
> > Nested Loop  (cost=0.00..4.16 rows=1 width=16)
> >   ->  Index Scan using rvtet_tszrtsz on rvtet  (cost=0.00..2.05 rows=1
> > width=8)
> >   ->  Index Scan using rentet_rttsz_key on rentet  (cost=0.00..2.09
> > rows=1 width=8)
> >
> > EXPLAIN
> > test1=# select count(*) from rvtet;
> >  count
> > -------
> >  13112
> > (1 row)
> >
> > test1=# select count(*) from rentet;
> >  count
> > -------
> >  13571
> > (1 row)
> >
> >
> > EXAMPLE 2
> >
> > test2=# explain
> > test2-# select rtcikkod, vttsz
> > test2-# from rvtet, rentet
> > test2-# where
> > test2-#   rvtet.vttsz= 13524
> > test2-#   and rvtet.vtrtsz=rentet.rttsz
> > test2-# ;
> > NOTICE:  QUERY PLAN:
> >
> > Merge Join  (cost=1726.50..1927.18 rows=24219 width=16)
> >   ->  Sort  (cost=131.77..131.77 rows=152 width=8)
> >         ->  Index Scan using rvtet_tszrtsz on rvtet  (cost=0.00..126.25
> > rows=152 width=8)
> >   ->  Sort  (cost=1594.73..1594.73 rows=15902 width=8)
> >         ->  Seq Scan on rentet  (cost=0.00..485.02 rows=15902 width=8)
> >
> > EXPLAIN
> > test2=# \di rentet
> >         List of relations
> >        Name       | Type  | Owner
> > ------------------+-------+-------
> >  rentet_rtsz      | index | www
> >  rentet_rttsz_key | index | www
> > (2 rows)
> >
> > test2=# select count(*) from rentet;
> >  count
> > -------
> >  15902
> > (1 row)
> >
> > test2=# select count(*) from rvtet;
> >  count
> > -------
> >  15230
> > (1 row)
> >
> >
> >
> > Thanks for everyone.
> >
> > Lajos Iklodi
> >
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 3: if posting/reading through Usenet, please send an appropriate
> > subscribe-nomail command to majordomo@postgresql.org so that your
> > message can get through to the mailing list cleanly
> >
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster



pgsql-sql by date:

Previous
From: Archibald Zimonyi
Date:
Subject: Re: Performance problem, what to do?
Next
From: Peter Eisentraut
Date:
Subject: Re: Operation on bit strings with different length