Re: Re: [pgsql-ru-general] Итерирование по таблице в режиме "Больше чем"

Поиск
Список
Период
Сортировка
От Dmitry E. Oboukhov
Тема Re: Re: [pgsql-ru-general] Итерирование по таблице в режиме "Больше чем"
Дата
Msg-id 20161214115513.GE14462@vdsl.uvw.ru
обсуждение исходный текст
Ответ на Re: [pgsql-ru-general] Итерирование по таблице в режиме "Больше чем"  (Oleksandr Shulgin <oleksandr.shulgin@zalando.de>)
Список pgsql-ru-general
> есть таблица

> "id" SERIAL
> "did" INTEGER REFERENCES (NOT UNIQUE)

> Таблица очень большая.

> Нужен скрипт который обойдет данную таблицу по уникальным did, причем
> желательно в порядке по возрастанию ID.
> При этом желательно использовать индекс

> Такое не подойдет?

> https://wiki.postgresql.org/wiki/Loose_indexscan

Насколько я понимаю будет ровно та же проблема из за
SELECT MIN(col).

То есть для unique индекса такой перебор вполне хорошо идет
а вот для non-unique индекса перебор с выборкой unique заставляет
брать min/max (от направления).

а поскольку оно min/max планирует посортировать ПОСЛЕ выборки блока,
то теоретически может сортируя оперировать большими объемами, а этого
хочется избежать.

Ведь выборка из BTREE с пропуском ненужных элементов сразу дает
нужный, сортированный результат.
--

. ''`.                               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

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

Предыдущее
От: Oleksandr Shulgin
Дата:
Сообщение: Re: [pgsql-ru-general] Итерирование по таблице в режиме "Больше чем"
Следующее
От: "Dmitry E. Oboukhov"
Дата:
Сообщение: [pgsql-ru-general] сменить пароли/доступы к БД без даунтайма