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 по дате отправления: