型安全な変換関数のパフォーマンスをテストする
直前の2つの演習では、TRY_CAST()、TRY_CONVERT()、TRY_PARSE() 関数を見てきました。これらの関数は常に同じ性能を発揮するわけではありません。この演習では、カレンダーテーブル内のすべての日付に対してパフォーマンステストを実行します。
作業しやすいように、dbo.Calendar テーブルの日付を、一時テーブル DateText に事前に読み込んであります。そこには DateText という名前の単一の NVARCHAR(50) 列があります。
最初の3つのステップでは、指示は同じです。該当する関数呼び出しを完成させるために、抜けている箇所を埋めてください。その後、各操作にかかった時間を確認し、結果を覚えておきましょう。ステップ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;