Maison >base de données >tutoriel mysql >Comment interroger efficacement les données date/heure en utilisant uniquement la date dans SQL Server ?
Interrogation Datetime avec uniquement la date dans SQL Server
Lorsque vous comparez les valeurs datetime aux dates uniquement dans SQL Server, il est crucial d'éviter d'utiliser des fonctions qui peut gêner l’optimisation. Une idée fausse courante consiste à convertir le champ datetime en chaîne à l’aide de convert, puis à le comparer à une valeur de date. Cette approche n'est pas recommandée.
Au lieu de cela, il est conseillé d'utiliser l'approche suivante :
Select * from [User] U where U.DateCreated >= '2014-02-07' and U.DateCreated < dateadd(day,1,'2014-02-07')
En utilisant cette méthode, l'optimiseur peut exploiter tous les index disponibles sur le champ DateCreated. Cela implique de comparer la valeur datetime à une plage allant du début de la date spécifiée au début du jour suivant, émulant efficacement le comportement d'une comparaison de date uniquement.
Il est crucial de noter que l'utilisation de fonctions dans le La clause WHERE ou les conditions de jointure peuvent désactiver l'optimisation de l'index, entraînant un ralentissement des performances. De plus, chaque ligne de données fait l'objet de calculs supplémentaires lors de l'utilisation de fonctions, ce qui pourrait avoir un impact significatif sur des ensembles de données plus volumineux. Par conséquent, il est recommandé d'adhérer à cette technique pour des requêtes de date efficaces.
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!