Testowanie wydajności funkcji konwersji bezpiecznych typowo
W dwóch poprzednich ćwiczeniach poznaliśmy funkcje TRY_CAST(), TRY_CONVERT() i TRY_PARSE(). Nie wszystkie działają z taką samą wydajnością. W tym ćwiczeniu przeprowadzisz test wydajności na wszystkich datach z naszej tabeli kalendarza.
Dla wygody daty z tabeli dbo.Calendar zostały wstępnie załadowane do tabeli tymczasowej o nazwie DateText, zawierającej jedną kolumnę NVARCHAR(50) o nazwie DateText.
W pierwszych trzech krokach instrukcje będą identyczne: uzupełnij brakujące wartości, aby dokończyć odpowiednie wywołanie funkcji. Następnie zaobserwuj czas wykonania każdej operacji i zapamiętaj wyniki. W kroku 4 podsumowujesz swoje obserwacje.
To ćwiczenie jest częścią kursu
Analiza szeregów czasowych w SQL Server
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- 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;