как правильно проиндексировать? - Mailing list pgsql-ru-general

From Dmitry E. Oboukhov
Subject как правильно проиндексировать?
Date
Msg-id 20150122122615.GF21759@vdsl.uvw.ru
Whole thread Raw
List pgsql-ru-general
Есть табличка, условно говоря такая

id INTEGER
date1 TIMESTAMP
date2 TIMESTAMP
...
date9 TIMESTAMP
...

то есть десяток таймстемпов.

нужно отвечать на вопросы

1. "все записи у кого хотя бы одна дата меньше X"
2. "все записи у кого хотя бы одна дата больше Y"
3. "все записи у кого хотя бы одна дата в диапазоне X..Y"


первые два вопроса решаются двумя индексами функциональными
BTREE(maximum(date1, date2, .. date9))
BTREE(minimum(date1, date2, .. date9))

третий вопрос чисто из индекса не выбрать уже.

есть идеи как тут индекс красивый построить?

возможно привести к integer и положить в GIST?

--

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

Attachment

pgsql-ru-general by date:

Previous
From: Petr Korobeinikov
Date:
Subject: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Индекс для автокомплита
Next
From: Warstone@list.ru
Date:
Subject: TOAST и борьба с разбуханием этой таблицы.