CAST(DATETIME DATUM) über die WHERE-Klausel

Ich bin mit SQL Server 2012 und ich würde gerne wissen, wenn ich Schreibe, der Satz:

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

ist ein langsamer Weg, um trim die Zeit über DATETIME-Spalten, ich habe gesucht, aber ich kann nicht finden, etwas über diese strengen Satz und ich weiß nicht, wie um zu zeigen, dass impresive Statistiken zu zeitaufwendig cast/convert zu untersuchen, es mich.

Langsamer als was? Sie haben eine Alternative Methode zum vergleichen? Die Zeit, in der CAST Funktion wird sehr wahrscheinlich unbedeutend im Vergleich mit der IO-Zeit und Zeit der Abfrage als ganzes. Sind Sie sicher, dass die CAST ist ein Engpass oder sind Sie nur raten?
Jede Funktion auf eine Spalte angewendet ermöglicht die Spalte non-SARGABLE. So könnte man einen index nicht verwendet. Warum nicht, WO MyDateTimeColumn >= '20140709" und MyDateTimeColumn < '20140710' ??
Verwendung von Funktionen in einer where-Klausel ist in der Regel eine schlechte Idee, wenn es vermieden werden kann
BTW, was ist es, dass Sie Fragen? :p
Ich bin gerade auf der Suche nach einem sicheren/schnellen Weg, um trim die Zeit über DATETIME-Spalten, ist mein Ansatz die niedrigste? gibt es einen schnelleren/sichereren Weg?

InformationsquelleAutor Ivanzinho | 2014-07-09

Schreibe einen Kommentar