Re: Стоимость запроса в EXPLAIN с LIMIT и OFFSET - Mailing list pgsql-ru-general

From Alexander M. Pravkin
Subject Re: Стоимость запроса в EXPLAIN с LIMIT и OFFSET
Date
Msg-id 20111128074118.GG9642@dyatel.antar.bryansk.ru
Whole thread Raw
In response to Стоимость запроса в EXPLAIN с LIMIT и OFFSET  ("Dmitry E. Oboukhov" <unera@debian.org>)
List pgsql-ru-general
Если проходиться по всей таблице, то нет смысла делать limit/offset
кроме как для экономии памяти. Тут может помочь cursor:

DECLARE my_cursor CURSOR FOR SELECT ...
FETCH NEXT 10 FROM my_cursor;
FETCH ...
...
CLOSE my_cursor;


On Mon, 2011-11-28 at 01:00 +0400, Dmitry E. Oboukhov wrote:
> SELECT
>     *
> FROM
>     table
> ORDER BY
>     column
> LIMIT
>     10
> OFFSET
>     100
>
> стоимость запроса растет вместе с ростом OFFSET.
>
>
> есть необходимость написать некую программу которая обойдет всю
> большую таблицу именно в порядке сортировки по конкретному столбику и
> пересчитает один из столбиков и сделает апдейт.
>
> индекс по column есть.
>
> если в начале работы основные затраты были на собственно расчеты. то
> ближе к середине в основном висит в БД тупо делая этот SELECT
> десятками секунд.
>
> Вопрос. как можно ускорить данный запрос?
> --
>
> . ''`.                               Dmitry E. Oboukhov
> : :’  :   email: unera@debian.org jabber://UNera@uvw.ru
> `. `~’              GPGKey: 1024D / F8E26537 2006-11-21
>   `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537



--
Alexander M. Pravkin

pgsql-ru-general by date:

Previous
From: Nikolay Samokhvalov
Date:
Subject: Re: [pgsql-ru-general] Стоимость запроса в EXPLAIN с LIMIT и OFFSET
Next
From: "Dmitry E. Oboukhov"
Date:
Subject: Добавить что-то в ENUM