| 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 | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| 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 | Content-Type | Size | 
|---|---|---|
| Pasted Graphic 2.tiff | image/tiff | 5.6 KB | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Yves Vindevogel | 2005-06-21 15:10:23 | Re: Limit clause not using index | 
| Previous Message | Jone C | 2005-06-21 15:05:17 | Re: slow growing table |