Wenn ich es richtig verstehe, verwendet BOOLEAN immer 1 Byte pro Spalte, aber BIT (n) verwendet so wenig Bytes, wie erforderlich sind, um die angegebene Anzahl von Bits zu speichern.
BIT spart möglicherweise Speicherplatz, BOOLEAN ist jedoch einfacher zu verwenden, wenn Sie sie mit SQL abfragen müssen.
Wenn ich eine Reihe von Flags hätte, die von einer Anwendung verstanden und in einem einzigen Feld in der Anwendung gespeichert wurden, würde ich BIT (n) verwenden. Wenn ich jedoch Spalten hätte, die von SQL abgefragt werden müssten, würde ich BOOLEAN verwenden.
Ein Beispiel wäre eine Anwendung, die mithilfe von Flags aufzeichnet, in welchen Wochen ein Ereignis ausgeführt werden soll, wobei ein Bit pro Woche 1 ist, wenn das Ereignis in der angegebenen Woche ausgeführt wird. Wenn die Daten in einer Datenbank einfach abzufragen wären, würden sie über zwei Tabellen hinweg „normalisiert“. Wenn die Daten jedoch nur in der Datenbank gespeichert werden müssten, sollten sie in der Form aufbewahrt werden, in der sie von der Anwendung verwendet werden im.