测试类型安全转换函数的性能
在前两个练习中,您学习了 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;