Перевірка продуктивності безпечних за типом функцій перетворення
У двох попередніх вправах ми розглянули функції TRY_CAST(), TRY_CONVERT() і TRY_PARSE(). Ці функції працюють з різною швидкістю. У цій вправі ви запустите тест продуктивності для всіх дат у нашій таблиці календаря.
Щоб спростити завдання, ми заздалегідь завантажили дати з таблиці dbo.Calendar у тимчасову таблицю DateText, де є один стовпець NVARCHAR(50) з назвою DateText.
У перших трьох кроках інструкції однакові: заповніть пропуски, щоб завершити відповідний виклик функції. Після цього зверніть увагу, скільки часу триває кожна операція, і запам'ятайте результати. Потім ви підсумуєте їх у кроці 4.
Ця вправа є частиною курсу
Аналіз часових рядів у SQL Server
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
-- 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;