title: Why is it bad to use boolean flags in databases? And what should be used instead?
body: <p>I've been reading through some of guides on database optimization and best practices and a lot of them suggest not using boolean flags at all in the DB schema (ex <a href="http://forge.mysql.com/wiki/Top10SQLPerformanceTips" rel="noreferrer">http://forge.mysql.com/wiki/Top10SQLPerformanceTips</a>). However, they never provide any reason as to why this is bad. Is it a peformance issue? is it hard to index or query properly?</p>
  
  <p>Furthermore, if boolean flags are bad, what should you use to store boolean values in a database? Is it better to store boolean flags as an integer and use a bitmask? This seems like it would be less readable.</p>