Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Microsoft può archiviare campi con tre valori in un solo bit?

Consiglio di leggere questo per una buona spiegazione dell'archiviazione nulla:In che modo SQL Server archivia realmente NULL-s . In breve, il bit null/non null viene archiviato in una posizione diversa, la bitmap nulla per la riga.

Dall'articolo:

Quindi, mentre i valori effettivi per le colonne a 8 bit sono archiviate in 1 byte, ci sono bit extra nella bitmap nulla della riga che indicano se quella colonna è NULL o meno ... quindi dipende da come stai contando. Per essere completamente accurate, le colonne a 8 bit utilizzano 2 byte , basta dividere in 2 posizioni diverse.