pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Yves Vindevogel <yves.vindevogel@implements.be>
To: pgsql-performance@postgresql.org
Subject: Re: Limit clause not using index
Date: Tue, 21 Jun 2005 17:07:54 +0200
Message-ID: <7e514564b9a159480857de53cc1764fd@implements.be> (raw)
In-Reply-To: <42B8275C.8040300@arbash-meinel.com>
References: <d0da86521cd54473cac40df63bb14546@implements.be>
	<42B8275C.8040300@arbash-meinel.com>

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


Mail: yves.vindevogel@implements.be  - Mobile: +32 (478) 80 82 91

Kempische Steenweg 206 - 3500 Hasselt - Tel-Fax: +32 (11) 43 55 76

Web: http://www.implements.be

First they ignore you.  Then they laugh at you.  Then they fight you.  
Then you win.
Mahatma Ghandi.

Attachments:

Pasted Graphic 2.tiff (image/tiff, 5.6K) download view image

view thread (14+ messages)  latest in thread

Message-ID: <7e514564b9a159480857de53cc1764fd@implements.be>
Permalink:  ../7e514564b9a159480857de53cc1764fd@implements.be/
Also on:    postgresql.org/message-id/7e514564b9a159480857de53cc1764fd@implements.be

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: yves.vindevogel@implements.be
  Subject: Re: Limit clause not using index
  In-Reply-To: <7e514564b9a159480857de53cc1764fd@implements.be>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox