Если я правильно понимаю, BOOLEAN всегда использует 1 байт на столбец, но BIT (n) будет использовать столько же байтов, сколько необходимо для хранения заданного количества бит.
Таким образом, BIT может сэкономить некоторое пространство, но с BOOLEAN легче работать, если вам нужно запросить их с помощью SQL.
Если бы у меня был набор флагов, которые были понятны приложению и сохранены в одном поле приложения, я бы искал возможность использовать BIT (n). Однако если бы у меня были столбцы, которые нужно было запрашивать из SQL, я бы использовал BOOLEAN.
Примером может служить приложение, которое использует флаги для записи того, в какие недели должно выполняться событие, с частотой в неделю, равной 1, если событие выполняется в данную неделю. Если данные будут легко запрашивать в базе данных, они будут «нормализованы» по двум таблицам, но если данные необходимо хранить только в базе данных, то лучше хранить их в той форме, в которой их использует приложение. в.