Rac*_*hel 6 sql-server-2005 sql-server
MSDN 声明Month(date)和DatePart(month, date)返回完全相同的值,但是这两种方法,性能或其他方面有什么区别吗?
我正在构建一些基于月份聚合大量数据的查询,有时它们需要一段时间才能运行,所以我想确保我使用的是最有效的语法。
我目前使用的是 SQL Server 2005
我刚刚在 SQL Server 2008r2 中的一个较大的表(12,430,129 行)上运行了几个测试。
smalldatetime结果:
MONTH()- 在 6662、6583、6661 和 6560 毫秒内运行。平均运行时间6616.5ms
DATEPART()- 在 6520、6584、6552 和 6608 毫秒内运行。平均运行时间6566ms
因此,似乎DATEPART() 确实要快一些。然而,这是一个十分之七的差异,所以它可能并不重要。