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

Von Nullen verwendeter Speicherplatz in der Datenbank

Das Speichern einer NULL in einer Spalte kostet nicht oder spart Platz. Für Daten fester Länge ist weiterhin der gesamte Platz reserviert.

Andererseits erfordern Daten mit variabler Länge nur die Länge der Daten plus Overhead, um die tatsächliche Länge zu speichern. Beispielsweise verwendet ein VARCHAR(n) 2 Datenbytes, um diese tatsächliche Länge anzugeben, sodass der erforderliche Speicherplatz immer n+2 beträgt.

Außerdem sollte erwähnt werden, dass sich bei SET ANSI_PADDING ON ein char(n) mit einem NULL-Wert wie ein VARCHAR(n) verhält.

In jedem Fall werden Sie keine Platzersparnis durch das Speichern von NULL-Werten erkennen, wenn Sie SQL Server 2000 oder SQL Server 2005 verwenden. SQL Server 2008 führt das Konzept einer Sparse-Spalte ein, die Einsparungen für Spalten erzielen kann, die hauptsächlich NULL sind.