как правильно проиндексировать?

From: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: как правильно проиндексировать?
Date: 2015-01-22 12:26:15
Message-ID: 20150122122615.GF21759@vdsl.uvw.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537

Browse pgsql-ru-general by date

  From Date Subject
Next Message 2015-01-22 13:25:53 TOAST и борьба с разбуханием этой таблицы.
Previous Message Petr Korobeinikov 2015-01-11 12:18:02 Re: [pgsql-ru-general] Re: [pgsql-ru-general] Индекс для автокомплита