On Sep 14, 2011, at 6:00, Antonio Vieiro <antonio@xxxxxxxxxxxxxxxx> wrote: > Hi all, > > One of my entities 'E' may be 'tagged' with an arbitrary set of 256 tags 'T'. > > A first approach could be to add a M:N relationship between 'E' and 'T'. > > A second way to do this could be to add a BIT(256) datatype to 'E', > setting bits to '1' if the entity is tagged with each one of the 256 > tags (i.e. using a 'bitmask' on the set of tags). > > Since querying entities 'E' with a certain set of tags 'T' must be > very fast I was wondering if the second approach would be faster. What > do you think? > > Thanks for any hints, > Antonio > > -- > Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general Dealing with 256 arbitrary ones and zeros instead of meaningful named tags seems to be asking for mega-confusion. If performance is really that important do both and run some performance tests. If the tag set ever changes a schema change will be needed for the bit version but not the two-table version. David J. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general