Auswählen geeigneter Datentypen

Abgeschlossen

SQL Server bietet eine Vielzahl von Datentypen, und Ihre Auswahl kann sich erheblich auf die Leistung auswirken. Während SQL Server einige Datentypen (auch als implizite Konvertierung bezeichnet) automatisch konvertieren kann, kann dieser Vorgang kostspielig sein und sich negativ auf Abfragepläne auswirken. Die Alternative ist eine explizite Konvertierung, bei der Sie die CAST Oder-Funktion CONVERT in Ihrem Code verwenden, um eine Datentypkonvertierung zu erzwingen.

Außerdem kann die Auswahl von Datentypen, die größer als erforderlich sind, zu verschwendetem Speicherplatz führen und dazu führen, dass mehr Seiten gelesen werden müssen. Es ist wichtig, die geeigneten Datentypen für Ihre Daten auszuwählen, da dadurch der gesamt für die Datenbank erforderliche Speicher reduziert und die Abfrageleistung verbessert wird.

Hinweis

In einigen Fällen sind Konvertierungen überhaupt nicht möglich. Beispielsweise kann ein Datum nicht in ein Bit konvertiert werden. Konvertierungen können sich negativ auf die Abfrageleistung auswirken, indem Indexscans verursacht werden, wo Suchen möglich gewesen wären, und zusätzlicher CPU-Aufwand durch die Konvertierung selbst entsteht.

Die folgende Abbildung gibt an, in welchen Fällen SQL Server eine implizite Konvertierung ausführen kann und in welchen Fällen Sie Datentypen explizit in Ihrem Code konvertieren müssen.

Diagramm der Typkonvertierungen in SQL Server und Azure SQL

SQL Server stellt verschiedene vom System bereitgestellte Datentypen bereit, die in Ihren Tabellen und Abfragen verwendet werden können. Darüber hinaus ermöglicht SQL Server die Erstellung benutzerdefinierter Datentypen mithilfe von T-SQL oder .NET Framework.