Re: Query slows after offset of 100K

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Query slows after offset of 100K
Дата
Msg-id 21717.1203033752@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Query slows after offset of 100K  (Greg Smith <gsmith@gregsmith.com>)
Список pgsql-performance
Greg Smith <gsmith@gregsmith.com> writes:
> On Thu, 14 Feb 2008, Michael Lorenz wrote:
>> When offsetting up to about 90K records, the EXPLAIN ANALYZE is similar to the following:
>> Limit  (cost=15357.06..15387.77 rows=20 width=35) (actual time=19.235..19.276 rows=20 loops=1)
>> ->  Index Scan using account_objectname on "object" o  (cost=0.00..1151102.10 rows=749559 width=35) (actual
time=0.086..14.981rows=10020 loops=1) 

> It looks like the planner thinks that index scan will have to go through
> 749559 rows, but there are actually only 10020 there.

No, you have to be careful about that.  The estimated rowcount is for
the case where the plan node is run to completion, but when there's a
LIMIT over it, it may not get run to completion.  In this case the limit
was satisfied after pulling 10020 rows from the indexscan, but we can't
tell what fraction of the underlying scan was actually completed.

            regards, tom lane

В списке pgsql-performance по дате отправления:

Предыдущее
От: Greg Smith
Дата:
Сообщение: Re: Query slows after offset of 100K
Следующее
От: "David Crane"
Дата:
Сообщение: Avoid long-running transactions in a long-running stored procedure?