Tester la performance des fonctions de conversion sécuritaires pour les types
Dans les deux derniers exercices, nous avons examiné les fonctions TRY_CAST(), TRY_CONVERT() et TRY_PARSE(). Ces fonctions n'offrent pas toutes le même niveau de performance. Dans cet exercice, vous allez exécuter un test de performance sur toutes les dates de notre table de calendrier.
Pour faciliter le travail, nous avons préchargé les dates de la table dbo.Calendar dans une table temporaire appelée DateText, qui contient une seule colonne NVARCHAR(50) nommée DateText.
Pour les trois premières étapes, les instructions seront les mêmes : complétez les appels de fonction en remplissant les valeurs manquantes. Ensuite, observez le temps requis par chaque opération et gardez ces résultats en tête. Vous résumerez vos observations à l'étape 4.
Cette activité fait partie du cours
Analyse de séries chronologiques dans SQL Server
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- 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;