Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Kann Microsoft dreiwertige Felder in einem einzigen Bit speichern?

Ich empfehle, dies für eine gute Erklärung des Nullspeichers zu lesen:Wie speichert SQL Server NULL-s wirklich . Kurz gesagt, das Null/Nicht-Null-Bit wird an einer anderen Stelle gespeichert, der Null-Bitmap für die Zeile.

Aus dem Artikel:

Während also die eigentlichen Werte Da 8-Bit-Spalten in 1 Byte gespeichert werden, gibt es zusätzliche Bits in der Null-Bitmap der Zeile, die angeben, ob diese Spalte NULL ist oder nicht ... hängt also davon ab, wie Sie zählen. vollständig sein genau, 8-Bit-Spalten verwenden 2 Bytes , einfach auf 2 verschiedene Standorte aufteilen.