ทดสอบประสิทธิภาพของฟังก์ชันแปลงค่าแบบ type-safe
ในสองแบบฝึกหัดที่ผ่านมา เราได้ทำความรู้จักกับฟังก์ชัน TRY_CAST(), TRY_CONVERT() และ TRY_PARSE() ซึ่งฟังก์ชันเหล่านี้มีประสิทธิภาพที่แตกต่างกัน ในแบบฝึกหัดนี้ จะทดสอบประสิทธิภาพกับวันที่ทั้งหมดในตาราง Calendar ของเรา
เพื่อความสะดวก เราได้โหลดวันที่จากตาราง 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;