bitmask index

Поиск
Список
Период
Сортировка
От Marcus Engene
Тема bitmask index
Дата
Msg-id 4E025E54.6020402@engene.se
обсуждение исходный текст
Ответы Re: bitmask index
Список pgsql-performance
Hi list,

I use Postgres 9.0.4.

I have some tables with bitmask integers. Set bits are the interesting
ones. Usually they are sparse.

-- Many rows & columns
CREATE TABLE a_table
(
  objectid                   INTEGER PRIMARY KEY NOT NULL
,misc_bits                  INTEGER DEFAULT 0 NOT NULL
...
)
WITHOUT OIDS;

...and when I use it I...

select
     ...
from
     a_table
where
     0 <> (misc_bits & (1 << 13))

Now the dear tables have swollen and these scans aren't as nice anymore.

What indexing strategies would you use here?

External table?:

create table a_table_feature_x
(
  objectid                   INTEGER PRIMARY KEY NOT NULL -- fk to
a_table.objectid
)
WITHOUT OIDS;


Internal in the big mama table?:

CREATE TABLE a_table
(
  objectid                   INTEGER PRIMARY KEY NOT NULL
,misc_bits                  INTEGER DEFAULT 0 NOT NULL
,feature_x                  VARCHAR(1) -- 'y' or null
...
)
WITHOUT OIDS;

CREATE INDEX a_table_x1 ON a_table(feature_x); -- I assume nulls are not
here


Some other trick?


Thanks,
Marcus

В списке pgsql-performance по дате отправления:

Предыдущее
От: Shaun Thomas
Дата:
Сообщение: Re: seq scan in the case of max() on the primary key column
Следующее
От: Greg Smith
Дата:
Сообщение: Re: seq scan in the case of max() on the primary key column