Null Platz für Falsch
Unabhängig von Ihrer Wahl können Sie NULL
stattdessen festlegen, 0
dass kein zusätzlicher Speicherplatz belegt wird (da die Datenbank fast immer ein NULL
Flag für jedes Feld jeder Zeile enthält, das nur dort sitzt; weitere Informationen hier ). Wenn Sie auch sicherstellen, dass der Standardwert / wahrscheinlichste Wert ist false
, sparen Sie noch mehr Platz!
Etwas Platz für Wahr
Der darzustellende Wert true
erfordert den durch den Feldtyp definierten Platz. Mit using BIT
wird nur dann Platz gespart, wenn eine Tabelle mehrere solcher Spalten enthält, da ein Byte pro 8 Felder verwendet wird (gegenüber TINYINT
einem Byte pro Feld).
TINYINT
bietet den Vorteil, dass Sie eine Bitmaske mit 8 Werten anpassen können, ohne sich um die Verwaltung einer Reihe zusätzlicher Spalten kümmern zu müssen, und die Suche ist theoretisch schneller (ein einzelnes ganzzahliges Feld im Vergleich zu mehreren Bitfeldern). Es gibt jedoch einige Nachteile, wie z. B. eine langsamere Reihenfolge, ausgefallene Cross-Indexing-Funktionen und das Fehlen von Feldnamen. Was für mich der größte Verlust ist; Ihre Datenbank würde eine externe Dokumentation erfordern, um festzustellen, welche Bits was in welchen Bitmasken getan haben.
Vermeiden Sie auf jeden Fall die Versuchung, TEXT
Felder zum Speichern von Booleschen Werten oder Mengen davon zu verwenden. Das Durchsuchen von Text ist für den Server viel aufwändiger, und beliebige Benennungsschemata wie "Ein, Aus, Aus" können die Interoperabilität beeinträchtigen.