Die Datentypen der Spalten haben direkten Einfluss darauf, wieviel Bytes ein Datensatz für die Speicherung benötigt. Ziel sollte sein, so viele Datensätze wie möglich auf einer Data Page (zu 8 KB) unterzubringen. Je mehr Daten pro Page, desto bessere Performance.
▪ Zahlen: Der int-Datentyp ist der primäre ganzzahlige Datentyp. Verwenden Sie tinyint/smallint/int statt numeric/real, wenn Sie z. B. keine Dezimalstellen benötigen.
Bitte beachten: Nur Zeichenfelder können mit der Direktsuche und Globalen Suche durchsucht werden.
▪ Zeichen: Verwenden Sie nchar, wenn die Größe der Spaltendateneinträge konsistent ist. Verwenden Sie nvarchar, wenn die Größe der Spaltendateneinträge erheblich variiert. Verwenden Sie nvarchar(max), wenn die Spaltendateneinträge 8.000 Byte überschreiten.
Bitte beachten: Bei nvarchar(max)-Feldern kann keine Sortierung angelegt werden; zudem wird der Inhalt bei diesen Feldern leicht verzögert geladen.
▪ Binäre Datentypen (Dateien/Bilder): Verwenden Sie binary, wenn die Größe der Spaltendateneinträge konsistent ist. Verwenden Sie varbinary, wenn die Größe der Spaltendateneinträge erheblich variiert. Verwenden Sie varbinary(max), wenn die Spaltendateneinträge 8.000 Byte überschreiten.
▪ Unicode-Daten: Verwenden Sie für Zeichendatentypen, bei denen es sich um Unicode-Daten handelt, nchar (feste Länge) oder nvarchar (variable Länge) und nicht char oder varchar, um Probleme bei der Zeichenkonvertierung zu minimieren.
▪ Die Feldtypen text, ntext, image und timestamp werden in einer zukünftigen Version von Microsoft SQL Server entfernt. Verwenden Sie für die drei zuerst genannten Feldtypen stattdessen die Datentypen varchar(max), nvarchar(max), varbinary(max).
▪ Die Zeichenlänge aller Felder einer Tabelle darf 8.060 Byte nicht überschreiten.