測試型別安全轉換函式的效能
在前兩個練習中,我們看過 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;