How to read a query plan?

Started by Konstantinos Agourosalmost 25 years ago4 messagesgeneral
Jump to latest
#1Konstantinos Agouros
elwood@agouros.de

Hi,

since I am still working on my quite big database and the last time a simple
index saved my life I would like to understand query plans. Here are two
one without and one with index I see different numbers, but would like to know
what they mean:
logs=> explain select distinct on (url) url, category, action from websenseflat where webhost='dir.yahoo.com' and datum >='1-26-2001' and datum < '1-27-2001';
NOTICE: QUERY PLAN:

Unique (cost=0.01..0.01 rows=1 width=36)
-> Sort (cost=0.01..0.01 rows=1 width=36)
-> Seq Scan on websenseflat (cost=0.00..0.00 rows=1 width=36)

EXPLAIN

after this I created an index on the field webhost, now the query plan says:

NOTICE: QUERY PLAN:

Unique (cost=19690.08..19690.22 rows=5 width=36)
-> Sort (cost=19690.08..19690.08 rows=53 width=36)
-> Index Scan using wsflwebhost on websenseflat (cost=0.00..19688.55 rows=53 width=36)

EXPLAIN

Could someone give me an interpretation (or a URL that explains this)?

Thanks,

Konstantin
--
Dipl-Inf. Konstantin Agouros aka Elwood Blues. Internet: elwood@agouros.de
Otkerstr. 28, 81547 Muenchen, Germany. Tel +49 89 69370185
----------------------------------------------------------------------------
"Captain, this ship will not sustain the forming of the cosmos." B'Elana Torres

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Konstantinos Agouros (#1)
Re: How to read a query plan?

elwood@agouros.de (Konstantinos Agouros) writes:

after this I created an index on the field webhost, now the query plan says:

CREATE INDEX updates the basic statistics about the table's size (number
of rows and disk blocks). The first plan was evidently generated using
statistics that claimed the table was empty. The second plan has rather
more plausible-looking numbers. I surmise that you did something like

CREATE TABLE ...

VACUUM (sets stats to reflect empty table)

load a bunch of data

EXPLAIN

CREATE INDEX (now stats reflect existence of data)

EXPLAIN

Could someone give me an interpretation (or a URL that explains this)?

See the performance section of the User's Guide for a general discussion
of EXPLAIN.

regards, tom lane

#3Peter Eisentraut
peter_e@gmx.net
In reply to: Konstantinos Agouros (#1)
Re: How to read a query plan?

Konstantinos Agouros writes:

logs=> explain select distinct on (url) url, category, action from websenseflat where webhost='dir.yahoo.com' and datum >='1-26-2001' and datum < '1-27-2001';
NOTICE: QUERY PLAN:

Unique (cost=0.01..0.01 rows=1 width=36)
-> Sort (cost=0.01..0.01 rows=1 width=36)
-> Seq Scan on websenseflat (cost=0.00..0.00 rows=1 width=36)

EXPLAIN

after this I created an index on the field webhost, now the query plan says:

NOTICE: QUERY PLAN:

Unique (cost=19690.08..19690.22 rows=5 width=36)
-> Sort (cost=19690.08..19690.08 rows=53 width=36)
-> Index Scan using wsflwebhost on websenseflat (cost=0.00..19688.55 rows=53 width=36)

EXPLAIN

Could someone give me an interpretation (or a URL that explains this)?

http://www.de.postgresql.org/devel-corner/docs/postgres/performance-tips.html

--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter

#4Konstantinos Agouros
elwood@agouros.de
In reply to: Peter Eisentraut (#3)
Re: How to read a query plan?

On Wed, Apr 18, 2001 at 05:31:48PM +0200, Peter Eisentraut wrote:

Konstantinos Agouros writes:

Could someone give me an interpretation (or a URL that explains this)?

http://www.de.postgresql.org/devel-corner/docs/postgres/performance-tips.html

Thanks that was the link I needed, just to make sure I understood the
page correctly I want to get cost down?

Konstantin

--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter

--
Dipl-Inf. Konstantin Agouros aka Elwood Blues. Internet: elwood@agouros.de
Otkerstr. 28, 81547 Muenchen, Germany. Tel +49 89 69370185
----------------------------------------------------------------------------
"Captain, this ship will not sustain the forming of the cosmos." B'Elana Torres