我有一个如下查询:
****************************************************
SELECT a.VOLUME_ID,e.RECEIVED_ON
FROM prjdb.dbo.V_ENG_VOLUME a LEFT OUTER JOIN     
      dbo.T_VOL_REAL d ON a.VOLUME_ID = d.VOLUME_ID LEFT OUTER JOIN
      Printer.dbo.V_T_RECEIVE e ON a.VOLUME_ID = e.VOLUME_ID 
where d.REAL_DATE >= '2006-08-01' 
AND d.REAL_DATE < '2006-09-01'
****************************************************
查询结果非常慢(大概需要90秒)
我试着改了查询时间条件后速度提升非常明显
*****************************************************
SELECT a.VOLUME_ID,e.RECEIVED_ON
FROM prjdb.dbo.V_ENG_VOLUME a LEFT OUTER JOIN     
      dbo.T_VOL_REAL d ON a.VOLUME_ID = d.VOLUME_ID LEFT OUTER JOIN
      Printer.dbo.V_T_RECEIVE e ON a.VOLUME_ID = e.VOLUME_ID 
where d.REAL_DATE >= '2006-07-01' 
AND d.REAL_DATE < '2006-09-01'
******************************************************
按理说范围大了应该更慢,怎么会变快了呢?查询耗时3秒我又试着将RECEIVED_ON这个日期字段去掉,查询条件不变
******************************************************
SELECT a.VOLUME_ID
FROM prjdb.dbo.V_ENG_VOLUME a LEFT OUTER JOIN     
      dbo.T_VOL_REAL d ON a.VOLUME_ID = d.VOLUME_ID
where d.REAL_DATE >= '2006-08-01' 
AND d.REAL_DATE < '2006-09-01'
******************************************************
结果查询时间也是很快2秒想了半天,数据也没有发现异常,可能水平太低,真不知道怎么办了,大家帮帮忙吧,给点提示也是好的.