From: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
---|---|
To: | Maxim Boguk <mboguk(at)masterhost(dot)ru> |
Cc: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Re: Запрос к авторам GIN/GIST индексов |
Date: | 2008-03-03 18:59:24 |
Message-ID: | 47CC4A8C.5040901@sigaev.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Maxim Boguk wrote:
> Насколько тяжело будет написать реализацию GIN/GIST индексов для полей
> типа Bit String Types
> (http://www.postgresql.org/docs/8.3/interactive/datatype-bit.html)
> для ускорения поиска через побитовые операций типа AND/OR (фактически
> работа с массивом флагов ускоренная индексом).
Наскотлько велика длина BitString? И как много строк?
Для ограниченного по длине BitString (скажем, меньше 128 байт), GiST opclass
реализовать не так трудно. GIN проще - фактически, extract_* методды, которые
должны возвращать массив номеров установленных битов.
>
> Сейчас функциональность флагов можно реализовать через hstore или
> intarray при желании.
> Но это ведет к очень большому перерасходу места в таблицах (hstore
> совсем большой перерасход и в индексе и в самом поле в зависимости от
> длинны ключей... intarray 32х кратный overhead по размеру поля и наверно
> такой же по размеру индекса)
Индекс GIN будет такого же размера - момер установленного бита есть номер.
--
Teodor Sigaev E-mail: teodor(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/
From | Date | Subject | |
---|---|---|---|
Next Message | Maxim Boguk | 2008-03-04 13:32:48 | Re: Запрос к авторам GIN/GIST индексов |
Previous Message | Maxim Boguk | 2008-03-03 12:19:02 | Запрос к авторам GIN/GIST индексов |