Thread: array vs bit fields for masking
Hey. I'm new to postgresql. Impressive.
I am building an app with core tables in a central schema and user access via views in separate schemas. I have to manage versioning and system configuration at the row level. My initial thinking was to have a bit field for each quality: version BIT(20), config(20). Each view would mask based on those fields. Then (multi-dimensional) arrays crossed my mind. Any performance / maintainability thoughts in using arrays vs bit fields?
Thanks,
Chip
Hi, On Sun, Jun 17, 2012 at 7:03 PM, Chip Nowacek <chip@twostewards.com> wrote: > configuration at the row level. My initial thinking was to have a bit field > for each quality: version BIT(20), config(20). Each view would mask based on > those fields. Then (multi-dimensional) arrays crossed my mind. Any > performance / maintainability thoughts in using arrays vs bit fields? If you intended to use this fields with partial indexes only (http://www.postgresql.org/docs/9.1/static/indexes-partial.html) then you will benefit in size. Otherwise I would advise to use arrays as the are more feature rich and indexable (take a note of this http://www.postgresql.org/docs/9.1/static/intarray.html). Also look at the hstore (http://www.postgresql.org/docs/9.1/static/hstore.html). You might find it interesting to store the states in a more flexible way. Pay attention to the index support in this case too. -- Sergey Konoplev a database architect, software developer at PostgreSQL-Consulting.com http://www.postgresql-consulting.com Jabber: gray.ru@gmail.com Skype: gray-hemp Phone: +79160686204