Хранение и выборка булевых значений. Mysql
Я бы попробовал следующее: хранить все 4 бита совместно в одном индексированном поле (назовем его bits), имеющем тип TINYINT UNSIGNED (либо BIT(4), либо SET).
А запросы бы делал в виде:SELECT * FROM table WHERE bits IN (...)Где вместо многоточия должны быть перечислены те значения, которые удовлетворяют маске. Для маски, указанной вами в примере, запрос примет вид:SELECT * FROM table WHERE bits IN (b'1001', b'1011')На мой взгляд, при таком подходе и место экономится, и производительность будет наилучшей.
Важна производительность? BOOLEAN
Важна экономия места? SET