Re: EXPLAIN ANALYZE not considering primary and unique indices! - Mailing list pgsql-general

From Bill Moran
Subject Re: EXPLAIN ANALYZE not considering primary and unique indices!
Date
Msg-id 20070827144348.552f2d82.wmoran@potentialtech.com
Whole thread Raw
In response to EXPLAIN ANALYZE not considering primary and unique indices!  (Sanjay <skpatel20@gmail.com>)
Responses Re: EXPLAIN ANALYZE not considering primary and unique indices!  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
In response to Sanjay <skpatel20@gmail.com>:

> Hi All,
>
> Say I have a simple table WEBSITE(website_id int4 PRIMARY KEY, name
> VARCHAR(30)). While I try this:
>
> EXPLAIN ANALYZE SELECT * FROM WEBSITE WHERE website_id = 1
>
> the output is:
> --------------------------------------------------------------------------------------
> Seq Scan on website  (cost=0.00..1.31 rows=1 width=162) (actual
> time=0.047..0.051 rows=1 loops=1)
>   Filter: (website_id = 1)
> Total runtime: 0.102 ms
> ---------------------------------------------------------------------------------------
> Wondering why it is not using the index, which would have been
> automatically created for the primary key.

Because PG thinks the seq scan is faster than an index scan.

Depending on other factors, it may be right.  If there's only a few
rows in the table, then a seq scan is going to be faster than
scanning the index, only to grab most of the table in to memory
anyway.

If it's wrong, it's either because your analyze data isn't up to date,
or your tuning parameters don't match your hardware.

--
Bill Moran
http://www.potentialtech.com

pgsql-general by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: Out of Memory - 8.2.4
Next
From: Alan Hodgson
Date:
Subject: Re: EXPLAIN ANALYZE not considering primary and unique indices!