BUG #1122: limit 1 doing a sequential scan

Started by PostgreSQL Bugs Listabout 22 years ago2 messagesbugs
Jump to latest
#1PostgreSQL Bugs List
pgsql-bugs@postgresql.org

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)

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PostgreSQL Bugs List (#1)
Re: BUG #1122: limit 1 doing a sequential scan

"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