MSSQL2005,测试表格20W行数据,查询数据3373行,
A.Select * From {订单} Where 日期 BETWEEN #5/1/2014# AND #5/31/2014#
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
(3373 行受影响)
SQL Server 执行时间:
CPU 时间 = 31 毫秒,占用时间 = 328 毫秒。
B.Select * From {订单} Where Year(日期) = 2014 And Month(日期) = 5
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
SQL Server 执行时间:
CPU 时间 = 0 毫秒,占用时间 = 1 毫秒。
(3373 行受影响)
SQL Server 执行时间:
CPU 时间 = 62 毫秒,占用时间 = 325 毫秒。
C.Select * From {订单} Where Format(日期,'yyyyMM') = '201405'
不支持
增加月份数量,没有太多时间差别,误差不高于0.1s,反而当跨月份甚至年度的时候,方案1书写更加简洁