Re: The usual sequential scan, but with LIMIT ! - Mailing list pgsql-performance

From Tom Lane
Subject Re: The usual sequential scan, but with LIMIT !
Date
Msg-id 14846.1094488841@sss.pgh.pa.us
Whole thread Raw
In response to The usual sequential scan, but with LIMIT !  (Pierre-Frédéric Caillaud<lists@boutiquenumerique.com>)
Responses Re: The usual sequential scan, but with LIMIT !  (Pierre-Frédéric Caillaud<lists@boutiquenumerique.com>)
List pgsql-performance
=?iso-8859-15?Q?Pierre-Fr=E9d=E9ric_Caillaud?= <lists@boutiquenumerique.com> writes:
> Now, if I LIMIT the query to 10 rows, the index should be used all the
> time, because it will always return few rows... well, it doesn't !

Not at all.  From the planner's point of view, the LIMIT is going to
reduce the cost by about a factor of 10/1403, since the underlying plan
step will only be run partway through.  That's not going to change the
decision about which underlying plan step is cheapest: 10/1403 of a
cheaper plan is still always less than 10/1403 of a more expensive plan.

Later, you note that LIMIT with ORDER BY does affect the plan choice
--- that's because in that situation one plan alternative has a much
higher startup cost than the other (namely the cost of a sort step).
A small LIMIT can allow the fast-startup plan to be chosen even though
it would be estimated to be the loser if run to completion.

            regards, tom lane

pgsql-performance by date:

Previous
From: Markus Schaber
Date:
Subject: Re: Multiple Uniques
Next
From: Pierre-Frédéric Caillaud
Date:
Subject: Re: The usual sequential scan, but with LIMIT !