Я читал некоторые руководства по оптимизации базы данных и лучшим практикам, и многие из них предлагают не использовать логические флаги вообще в схеме БД (ex http://forge.mysql.com/wiki/Top10SQLPerformanceTips). Однако они никогда не приводят никаких причин, почему это плохо. Это проблема выбора? трудно ли индексировать или запросить правильно?
Кроме того, если логические флаги плохие, что вы должны использовать для хранения булевых значений в базе данных? Лучше ли хранить логические флаги как целое число и использовать битовую маску? Кажется, это было бы менее читаемо.