CAST(DATETIME DATE) au cours de la clause where

Je suis à l'aide de SQL Server 2012 et je voudrais savoir si j'écris la phrase:

SELECT MyDateTimeColumn 
FROM MyTable
WHERE CAST(MyDateTimeColumn AS DATE) = '2014-07-09'

est un ralentissement de la façon de couper à la fois sur les colonnes DATETIME, j'ai cherché mais je ne trouve rien à propos de cette stricte phrase et je ne sais pas comment montrer qu'pale statistiques sur les temps de cast/convertir à la sonde de moi-même.

Plus lent que quoi? Avez-vous une autre méthode pour la comparer? Le temps passé dans la CAST fonction sera très probablement insignifiant en comparaison avec les IO en temps et heure de la requête dans son ensemble. Êtes-vous certain que le CAST est un goulot d'étranglement ou êtes-vous juste deviner?
Toute fonction appliquée à une colonne de la colonne non SARGABLE. Ainsi, vous ne pouviez pas utiliser un index. Pourquoi ne pas l'utiliser OÙ MyDateTimeColumn >= '20140709" et MyDateTimeColumn < '20140710' ??
Utilisation des fonctions dans une clause where est généralement une mauvaise idée, si elle peut être évitée
BTW, qu'est-ce que vous demandez? :p
Je suis à la recherche d'un coffre-fort/moyen rapide de couper la fois sur des colonnes DATETIME, c'est mon approche au plus bas? est-il plus rapide/moyen plus sûr?

OriginalL'auteur Ivanzinho | 2014-07-09