Re: Стоимость запроса в EXPLAIN с LIMIT и OFFSET
От | Alexander M. Pravkin |
---|---|
Тема | Re: Стоимость запроса в EXPLAIN с LIMIT и OFFSET |
Дата | |
Msg-id | 20111128074118.GG9642@dyatel.antar.bryansk.ru обсуждение исходный текст |
Ответ на | Стоимость запроса в EXPLAIN с LIMIT и OFFSET ("Dmitry E. Oboukhov" <unera@debian.org>) |
Список | 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 по дате отправления: