Re: Limit clause not using index - Mailing list pgsql-performance
| From | Yves Vindevogel |
|---|---|
| Subject | Re: Limit clause not using index |
| Date | |
| Msg-id | 163f181d17f10b89bf136ab9a5a7a81c@implements.be Whole thread Raw |
| In response to | Re: Limit clause not using index (Yves Vindevogel <yves.vindevogel@implements.be>) |
| List | pgsql-performance |
Nevermind guys ....
There's an error in a function that is creating these indexes.
The function never completed succesfully so the index is not there
Very sorry about this !!
On 21 Jun 2005, at 16:57, Yves Vindevogel wrote:
<excerpt><fixed><x-tad-bigger>These are my indexes
create index ixprintjobsapplicationtype on tblPrintjobs
(applicationtype);
create index ixprintjobsdesceventdate on tblPrintjobs (desceventdate);
create index ixprintjobsdesceventtime on tblPrintjobs (desceventtime);
create index ixprintjobsdescpages on tblPrintjobs (descpages);
create index ixprintjobsdocumentname on tblPrintjobs (documentname) ;
create index ixprintjobseventcomputer on tblPrintjobs
(eventcomputer);
create index ixprintjobseventdate on tblPrintjobs (eventdate);
create index ixprintjobseventtime on tblPrintjobs (eventtime);
create index ixprintjobseventuser on tblPrintjobs (eventuser);
create index ixprintjobshostname on tblPrintjobs (hostname) ;
create index ixprintjobsipaddress on tblPrintjobs (ipaddress) ;
create index ixprintjobsloginuser on tblPrintjobs (loginuser) ;
create index ixprintjobspages on tblPrintjobs (pages) ;
create index ixprintjobsprintport on tblPrintjobs (printport) ;
create index ixprintjobsprintqueue on tblPrintjobs (printqueue) ;
create index ixprintjobsrecordnumber on tblPrintjobs (recordnumber) ;
create index ixprintjobssize on tblPrintjobs (size) ;
create index ixprintjobsusertype on tblPrintjobs (usertype) ;
create index ixPrintjobsDescpagesDocumentname on tblPrintjobs
(descpages, documentname) ;
create index ixPrintjobsHostnamePrintqueueDesceventdateDesceventtime
on tblPrintjobs (hostname, printqueue, desceventdate, desceventtime) ;
create index ixPrintjobsLoginDescEventdateDesceventtime on
tblPrintjobs (loginuser, desceventdate, desceventtime) ;
</x-tad-bigger></fixed>
On 21 Jun 2005, at 16:42, Tom Lane wrote:
<excerpt>Yves Vindevogel <<yves.vindevogel@implements.be> writes:
<excerpt>Can anyone explain me this ?
</excerpt>
<excerpt>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)
</excerpt>
Do you have an index matching that sort key? I'd certainly expect the
above to use it if it were there. For the full table case it's not so
clear --- an indexscan isn't always better.
regards, tom lane
</excerpt>Met vriendelijke groeten,
Bien à vous,
Kind regards,
<bold>Yves Vindevogel</bold>
<bold>Implements</bold>
<smaller>
</smaller><<Pasted Graphic 2.tiff><smaller>
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
<italic><x-tad-smaller>
First they ignore you. Then they laugh at you. Then they fight you.
Then you win.
Mahatma Ghandi.</x-tad-smaller></italic></smaller></excerpt><excerpt>
---------------------------(end of
broadcast)---------------------------
TIP 8: explain analyze is your friend
</excerpt>Met vriendelijke groeten,
Bien à vous,
Kind regards,
<bold>Yves Vindevogel</bold>
<bold>Implements</bold>
<smaller>
</smaller>Nevermind guys ....
There's an error in a function that is creating these indexes.
The function never completed succesfully so the index is not there
Very sorry about this !!
On 21 Jun 2005, at 16:57, Yves Vindevogel wrote:
> These are my indexes
>
> create index ixprintjobsapplicationtype on tblPrintjobs
> (applicationtype);
> create index ixprintjobsdesceventdate on tblPrintjobs (desceventdate);
> create index ixprintjobsdesceventtime on tblPrintjobs (desceventtime);
> create index ixprintjobsdescpages on tblPrintjobs (descpages);
> create index ixprintjobsdocumentname on tblPrintjobs (documentname) ;
> create index ixprintjobseventcomputer on tblPrintjobs (eventcomputer);
> create index ixprintjobseventdate on tblPrintjobs (eventdate);
> create index ixprintjobseventtime on tblPrintjobs (eventtime);
> create index ixprintjobseventuser on tblPrintjobs (eventuser);
> create index ixprintjobshostname on tblPrintjobs (hostname) ;
> create index ixprintjobsipaddress on tblPrintjobs (ipaddress) ;
> create index ixprintjobsloginuser on tblPrintjobs (loginuser) ;
> create index ixprintjobspages on tblPrintjobs (pages) ;
> create index ixprintjobsprintport on tblPrintjobs (printport) ;
> create index ixprintjobsprintqueue on tblPrintjobs (printqueue) ;
> create index ixprintjobsrecordnumber on tblPrintjobs (recordnumber) ;
> create index ixprintjobssize on tblPrintjobs (size) ;
> create index ixprintjobsusertype on tblPrintjobs (usertype) ;
> create index ixPrintjobsDescpagesDocumentname on tblPrintjobs
> (descpages, documentname) ;
> create index ixPrintjobsHostnamePrintqueueDesceventdateDesceventtime
> on tblPrintjobs (hostname, printqueue, desceventdate, desceventtime) ;
> create index ixPrintjobsLoginDescEventdateDesceventtime on
> tblPrintjobs (loginuser, desceventdate, desceventtime) ;
>
>
> On 21 Jun 2005, at 16:42, Tom Lane wrote:
>
>> Yves Vindevogel <yves.vindevogel@implements.be> writes:
>>> Can anyone explain me this ?
>>
>>> 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)
>>
>>
>> Do you have an index matching that sort key? I'd certainly expect the
>> above to use it if it were there. For the full table case it's not so
>> clear --- an indexscan isn't always better.
>>
>> regards, tom lane
>>
>>
> Met vriendelijke groeten,
> Bien à vous,
> Kind regards,
>
> Yves Vindevogel
> Implements
>
> <Pasted Graphic 2.tiff>
>
> 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.
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 8: explain analyze is your friend
>
Met vriendelijke groeten,
Bien à vous,
Kind regards,
Yves Vindevogel
Implements
<smaller>
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
<italic><x-tad-smaller>
First they ignore you. Then they laugh at you. Then they fight you.
Then you win.
Mahatma Ghandi.</x-tad-smaller></italic></smaller>
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.
Attachment
pgsql-performance by date: