Für SQL Server:bis zu 8 Spalten vom Typ BIT
kann in einem einzelnen Byte gespeichert werden, während jede Spalte vom Typ CHAR(1)
ist nimmt ein Byte ein.
Andererseits:ein BIT
Spalte kann zwei Werte haben (0 =falsch, 1 =wahr) oder überhaupt keinen Wert (NULL) - während ein CHAR(1)
kann jeden Zeichenwert haben (viel mehr Möglichkeiten)
Es kommt also wirklich darauf an:
- Brauchen Sie wirklich ein Wahr/Falsch-Feld (Ja/Nein)? Wenn ja:Verwenden Sie
BIT
- brauchen Sie etwas mit mehr als nur zwei möglichen Werten - verwenden Sie
CHAR(1)
Ich glaube nicht, dass es aus Sicht der Leistung einen signifikanten Unterschied macht - es sei denn, Sie haben Zehntausende von Spalten. Dann natürlich mit BIT
die bis zu 8 Spalten in einem einzigen Byte speichern kann, wäre von Vorteil. Aber noch einmal:Für Ihren "normalen" Datenbankfall, wo Sie ein paar, ein Dutzend dieser Spalten haben, macht es wirklich keinen großen Unterschied. Wählen Sie den Spaltentyp, der Ihren Anforderungen entspricht - Sorgen Sie sich nicht zu sehr um die Leistung.....