Re: The usual sequential scan, but with LIMIT !
От | Tom Lane |
---|---|
Тема | Re: The usual sequential scan, but with LIMIT ! |
Дата | |
Msg-id | 14846.1094488841@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | The usual sequential scan, but with LIMIT ! (Pierre-Frédéric Caillaud<lists@boutiquenumerique.com>) |
Ответы |
Re: The usual sequential scan, but with LIMIT !
|
Список | 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 по дате отправления: