Teodor Sigaev пишет:
>
>
> 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_*
> методды, которые должны возвращать массив номеров установленных битов.
128байт по логике достаточно (это дает 1024 возможных флагов что более чем достаточно)
Вопрос как заставить операции AND/OR над такими полями использовать индексы?
Или проще не переопределять встроенные операции а сделать свои какие то?
Можно ли использовать hstore из 8.3 postgresql contrib как образец кода для написания подобного механизма?
--
Maxim Boguk