Maison >base de données >tutoriel mysql >Quelle est la méthode SQL Server la plus efficace pour extraire la date d'une valeur DateTime ?

Quelle est la méthode SQL Server la plus efficace pour extraire la date d'une valeur DateTime ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-13 08:29:43243parcourir

What's the Most Efficient SQL Server Method to Extract the Date from a DateTime Value?

La meilleure façon d'extraire efficacement les dates des valeurs datetime dans SQL Server

Dans MS SQL 2000 ou 2005, pour une valeur datetime telle que « 2008-09-25 12:34:56 », le moyen le plus efficace d'obtenir une valeur datetime contenant uniquement « 2008-09-25 » est de sujet de débat. Bien que diverses méthodes aient été proposées, une analyse approfondie révèle les résultats suivants :

Environnement et méthodes de test :

La comparaison des performances a été effectuée sur un serveur de test (MS SQL Server 2005) contenant une grande table contenant des horodatages avec une précision à la milliseconde. Le tableau s'étend sur 2,5 ans et contient 130 millions d'enregistrements, le premier million d'enregistrements étant sélectionné pour analyse.

Requête pour évaluation :

  • Instruction SELECT pure
  • Conversion plancher-flottant (CAST(FLOOR(CAST(CRETS AS FLOAT)) AS DATETIME))
  • Conversion de chaîne (CONVERT(DATETIME, CONVERT(VARCHAR(10), CRETS, 120), 120))
  • Conversion DATEADD (DATEADD(DAY, DATEDIFF(DAY, 0, CRETS), 0))

Résultat :

Temps CPU (ms) :

  • Instruction SELECT pure : 422
  • Conversion plancher-flotteur : 625
  • Conversion de chaîne : 1953
  • Conversion DATEADD : 531

Conclusion :

Contrairement aux affirmations précédentes selon lesquelles la méthode floor-float est la plus rapide, il s'avère que la conversion DATEADD apparaît comme la méthode la plus efficace dans ce scénario particulier.

Remarque : Il est important de noter que ces résultats peuvent varier en fonction de la configuration spécifique du serveur et des caractéristiques de l'ensemble de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn