Agreed. I should also note that space efficiency is lower priority to me than other goals.

If space doesn't matter to me, I tend to use TINYINT(1) NOT NULL for booleans. I'm sure there's a reasonably portable way to use something like that.

----- "Khalid Baheyeldin" wrote:
> One more -1 vote for bit masks stored in the database on columns
> that need to be filtered by.
> +1 on using an int or char(1) for each of the columns would be more
> effective, since each discrete column can be used in WHEREs, ...etc.
>
> The extra bytes overhead is negligible.
> This is also more portable across databases and does not require
> database specific functions.
>