Обсуждение: BUG #1122: limit 1 doing a sequential scan

Поиск
Список
Период
Сортировка

BUG #1122: limit 1 doing a sequential scan

От
"PostgreSQL Bugs List"
Дата:
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

От
Tom Lane
Дата:
"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