Thread: BUG #1122: limit 1 doing a sequential scan

BUG #1122: limit 1 doing a sequential scan

From
"PostgreSQL Bugs List"
Date:
The following bug has been logged online:

Bug reference:      1122
Logged by:          P Buder

Email address:      pb2@aracnet.com

PostgreSQL version: 7.3.5

Operating system:   Debian Linux

Description:        limit 1 doing a sequential scan

Details:

I am actually running 7.3.6 but that isn't available on the drop down menu
to report a bug so there is another bug :)

When I do a select * from table limit 1
Postgresql does a sequential scan on the whole table.  It should just pick
one row and be done with it.  The table has been analyzed but that shouldn't
matter. This particular table has 4.3 million rows. Here is the explain
select.


book=# explain select * from imdata limit 1;
                              QUERY PLAN
----------------------------------------------------------------------
 Limit  (cost=0.00..55.85 rows=1 width=152)
   ->  Seq Scan on imdata  (cost=0.00..269569.27 rows=4827 width=152)
(2 rows)

Re: BUG #1122: limit 1 doing a sequential scan

From
Tom Lane
Date:
"PostgreSQL Bugs List" <pgsql-bugs@postgresql.org> writes:
> When I do a select * from table limit 1
> Postgresql does a sequential scan on the whole table.

AFAICS you simply are misreading the EXPLAIN output.

(It also sounds like you haven't vacuumed or analyzed that table in a
mighty long time... if you're having performance problems that is
probably the reason...)

            regards, tom lane