我还遇到这样的问题,在 查询分析器里declare @startdate as datetime declare @enddate as datetimeset @startdate=cast('2004-3-20' as datetime) set @enddate=cast('2004-3-28' as datetime) select sum(field1) aa,sum(field2) bb from Table2 where date>=@startdate and date<=@enddate 用上面的查询要慢 而用下面的要快些,如何解决?select sum(field1) aa,sum(field2) bb from Table2 where date>='2004-3-20' and date<='2004-3-28'
declare @enddate as datetimeset @startdate=cast('2004-3-20' as datetime)
set @enddate=cast('2004-3-28' as datetime)
select sum(field1) aa,sum(field2) bb from Table2 where date>=@startdate and date<=@enddate 用上面的查询要慢
而用下面的要快些,如何解决?select sum(field1) aa,sum(field2) bb from Table2 where date>='2004-3-20' and date<='2004-3-28'
将第一个表查出来的内容,先放到一个临时表里面,然后用这个临时表和另一个表UNION。
我以前试过这种临时表的用法,速度会快很多。我的是两个表(各1000多万条)
对于游标的态度是,能不用则不用,实在没办法了才用。
因为它的效率和一般SQL语句是几百倍甚至几千倍的关系。
建過了索引,應該速度不會怎麼慢,
除非索引文件損壞,或數據庫負荷過重,