Re: weird EXPLAIN - Mailing list pgsql-general

From Tom Jenkins
Subject Re: weird EXPLAIN
Date
Msg-id 1024346202.15174.205.camel@asimov
Whole thread Raw
In response to weird EXPLAIN  (Varun Kacholia <varunk@cse.iitb.ac.in>)
List pgsql-general
On Mon, 2002-06-17 at 16:04, Varun Kacholia wrote:
> hi ,
>  I have just migrated to PostgreSQL...and found the following wierd :
>
>  suryadb=# explain select * from dbwin where id in (select id from wdwin
>  where word='bacd');
>  NOTICE:  QUERY PLAN:
>  Seq Scan on dbwin  (cost=0.00..8158.20 rows=1000 width=76)
>  ^^^^^^^^^^^^^^^^^^
>    SubPlan
>      ->  Materialize  (cost=8.14..8.14 rows=10 width=4)
> ->  Index Scan using wdkwin on wdwin  (cost=0.00..8.14 rows=10 width=4)
>
>
>  i wanted to know why a sequential scan is done on the field id
> while it is a primary key in the table dbwin.this can be clearly
> confirmed from the  query below :
>
> suryadb=# explain select * from dbwin where id=1234;
> NOTICE:  QUERY PLAN:
> Index Scan using dbwin_pkey on dbwin  (cost=0.00..8.14 rows=10 width=76)
>
> why does it do a sequential scan for the query above??

If the table is small, the planner figures (usually correctly) that it
is quicker to load it all in memory and do an in-memory scan, rather
than loading the index into memory, getting the row from the index, then
loading the row from disk (2 disc reads to 1)


--

Tom Jenkins
Development InfoStructure
http://www.devis.com



pgsql-general by date:

Previous
From: Varun Kacholia
Date:
Subject: weird EXPLAIN
Next
From: terry@greatgulfhomes.com
Date:
Subject: Re: create definiton