Skip site navigation (1) Skip section navigation (2)

Re: Limit clause not using index

From: Yves Vindevogel <yves(dot)vindevogel(at)implements(dot)be>
To: pgsql-performance(at)postgresql(dot)org
Subject: Re: Limit clause not using index
Date: 2005-06-21 15:07:54
Message-ID: 7e514564b9a159480857de53cc1764fd@implements.be (view raw or flat)
Thread:
Lists: pgsql-performance
rvponp=# explain analyze select * from tblPrintjobs order by loginuser,  
desceventdate, desceventtime ;
                                                            QUERY PLAN
------------------------------------------------------------------------ 
--------------------------------------------------------
  Sort  (cost=345699.06..347256.49 rows=622972 width=203) (actual  
time=259438.952..268885.586 rows=622972 loops=1)
    Sort Key: loginuser, desceventdate, desceventtime
    ->  Seq Scan on tblprintjobs  (cost=0.00..25596.72 rows=622972  
width=203) (actual time=21.155..8713.810 rows=622972 loops=1)
  Total runtime: 271583.422 ms
(4 rows)

On 21 Jun 2005, at 16:42, John A Meinel wrote:

> Yves Vindevogel wrote:
>
>> Hi,
>>
>> I have a very simple query on a big table. When I issue a "limit"  
>> and/or "offset" clause, the query is not using the index.
>> Can anyone explain me this ?
>
> You didn't give enough information. What does you index look like that  
> you are expecting it to use?
> Generally, you want to have matching columns. So you would want
> CREATE INDEX blah ON tblprintjobs(loginuser, desceventdate,  
> desceventtime);
>
> Next, you should post EXPLAIN ANALYZE instead of regular explain, so  
> we can have an idea if the planner is actually making correct  
> estimations.
>
> John
> =:->
>
>>
>> rvponp=# explain select * from tblprintjobs order by loginuser,  
>> desceventdate, desceventtime offset 25 limit 25 ;
>> QUERY PLAN
>> ---------------------------------------------------------------------- 
>> -------------
>> Limit (cost=349860.62..349860.68 rows=25 width=206)
>> -> Sort (cost=349860.56..351416.15 rows=622236 width=206)
>> Sort Key: loginuser, desceventdate, desceventtime
>> -> Seq Scan on tblprintjobs (cost=0.00..25589.36 rows=622236  
>> width=206)
>> (4 rows)
>>
>> rvponp=# explain select * from tblprintjobs order by loginuser,  
>> desceventdate, desceventtime ;
>> QUERY PLAN
>> ---------------------------------------------------------------------- 
>> -------
>> Sort (cost=349860.56..351416.15 rows=622236 width=206)
>> Sort Key: loginuser, desceventdate, desceventtime
>> -> Seq Scan on tblprintjobs (cost=0.00..25589.36 rows=622236  
>> width=206)
>> (3 rows)
>>
>> Met vriendelijke groeten,
>> Bien à vous,
>> Kind regards,
>>
>> *Yves Vindevogel*
>> *Implements*
>
>
>
>
Met vriendelijke groeten,
Bien à vous,
Kind regards,

Yves Vindevogel
Implements


Attachment: Pasted Graphic 2.tiff
Description: image/tiff (5.6 KB)

In response to

Responses

pgsql-performance by date

Next:From: Yves VindevogelDate: 2005-06-21 15:10:23
Subject: Re: Limit clause not using index
Previous:From: Jone CDate: 2005-06-21 15:05:17
Subject: Re: slow growing table

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group