Testa prestanda för typssäkra konverteringsfunktioner
I de två föregående övningarna tittade vi på funktionerna TRY_CAST(), TRY_CONVERT() och TRY_PARSE(). Dessa funktioner presterar inte lika bra. I den här övningen kör du ett prestandatest mot alla datum i vår kalendertabell.
För att göra det enklare har vi i förväg läst in datumen från tabellen dbo.Calendar i en temporär tabell kallad DateText, där det finns en enda kolumn av typen NVARCHAR(50) med namnet DateText.
I de tre första stegen är instruktionerna desamma: fyll i de saknade värdena för att slutföra det relevanta funktionsanropet. Observera sedan hur lång tid varje åtgärd tar och kom ihåg resultaten. I steg 4 sammanfattar du dina slutsatser.
Den här övningen är en del av kursen
Tidsserieanalys i SQL Server
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- Try out how fast the TRY_CAST() function is
-- by try-casting each DateText value to DATE
DECLARE @StartTimeCast DATETIME2(7) = SYSUTCDATETIME();
SELECT ___(___ ___ ___) AS TestDate FROM #DateText;
DECLARE @EndTimeCast DATETIME2(7) = SYSUTCDATETIME();
-- Determine how much time the conversion took by
-- calculating the date difference from @StartTimeCast to @EndTimeCast
SELECT
DATEDIFF(MILLISECOND, @StartTimeCast, @EndTimeCast) AS ExecutionTimeCast;