日期:2014-05-17  浏览次数:20453 次

按出现次数最多排序....!
数据库:MSSQL 2005
有个操作日志表(记录操作)数据量800万,已建索引

select   top 100 s_word,count(1) as c from SearchLog where s1=1 and s3=0 group by s_word order by c desc
--s1 是条件


s_word 为操作日志关键字,有重复

这个语句有时候查询能到30秒,有时候10秒以内,这个语句还能优化吗?或者说还有别的好办法吗?

如果加上查询条件
where  .... and  (DATEDIFF(day, S_Date, GETDATE()) >= 0) and ....

表达式在where 后面我知道是影响效率的,怎么判断时间范围比较好呢?

------解决方案--------------------
引用:
我觉得索引要重新建,因为表也 update statistics 了


你建立索引的语句,能贴出来看看不
------解决方案--------------------
结贴就好