How to Search for Date and Time Values Using SQL Server 2000
Before you can effectively query date/time (or temporal) data, you have to know something about how date/time values are stored. In this article, Bryan demonstrates the various ways in which to query an SQL Server to successfully retrieve the records you may be seeking.
How to Search for Date and Time Values Using SQL Server 2000 - Performance Considerations in Querying (Page 6 of 8 )
A search based on an indexed column completes faster than a search based on a non-indexed column. So date/time columns that are searched frequently should be indexed. Be aware, though, that if you then use a function in the search condition, the index can’t be used in the same way, which slows performance. For searches that are executed thousands of times a day on a production database, this can cause significant performance problems. For this reason, you should avoid using functions in such search conditions whenever possible. As you’ll see in the examples that follow, this sometimes results in solutions that are less flexible than those that use functions.
In addition, keep in mind that some applications require that you search for portions of a date/time column. The portion could be date only, time only, or even a smaller portion, such as a year or hour. In that case, it may improve performance to split a single date/time column into two or more separate columns, and then index those that are searched most often.