LZ可以考虑用视图索引(Indexed View),毫秒级的查询速度.参考 http://www.codeproject.com/Articles/199058/SQL-Server-Indexed-Views-Speed-Up-Your-Select-Quer

解决方案 »

  1.   

    换了oracle 又能快多少?呵呵,你说的内容已经把你的问题都说出来了,改变处理方式吧,楼上的都说到了
      

  2.   

    如果希望通过索引来加快速度,而你基本上又都是全表的数据都要查,那么可以考虑建覆盖索引,因为你一个表几十个字段,你不可能在报表中都需要查询,肯定是查询少了的几个字段。如果访问的字段比较多,那么就考虑做个日结表,或者月结表,每天晚上计算好了存进去,后面直接从里面查询就可以,不用在sum和group by,说白了就是预先把结果存进去,方便以后反复的查询。
    另外,在sql server中,索引视图不建议使用,基本上就是摆设,一堆的限制条件。
      

  3.   

    历史表、索引视图、SSAS都能解决你的问题