> есть таблица
> "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