Välj lämpliga datatyper

Slutförd

SQL Server erbjuder en mängd olika datatyper att välja mellan, och ditt val kan påverka prestanda på många sätt. Sql Server kan konvertera vissa datatyper automatiskt (vi kallar detta en implicit konvertering), men konverteringen kan vara kostsam och kan även påverka frågeplaner negativt. Alternativet är en explicit konvertering där du använder funktionen CAST eller CONVERT i koden för att tvinga fram en datatypkonvertering.

Om du väljer datatyper som är mycket större än vad som behövs kan det dessutom orsaka slöseri med utrymme och kräva fler sidor än vad som krävs för att läsas. Det är viktigt att välja rätt datatyper för en viss uppsättning data, vilket minskar det totala lagringsutrymme som krävs för databasen och förbättrar prestandan för frågor som körs.

Kommentar

I vissa fall är konverteringar inte möjliga alls. Ett datum kan till exempel inte konverteras till en bit. Konverteringar kan påverka frågeprestanda negativt genom att orsaka indexgenomsökningar där sökningar skulle ha varit möjliga, och ytterligare processorkostnader från själva konverteringen.

Bilden nedan anger i vilka fall SQL Server kan göra en implicit konvertering och i vilka fall du uttryckligen måste konvertera datatyper i koden.

Chart of Type Conversions in SQL Server and Azure SQL

SQL Server erbjuder en uppsättning datatyper som tillhandahålls av systemet för alla data som kan användas i dina tabeller och frågor. SQL Server gör det möjligt att skapa användardefinierade datatyper i T-SQL eller .NET-ramverket.