以前网站是采用asp.net和SQL2000,CPU也是经常100%左右,但网站还能正常访问。但昨天升级到SQL2005后,打开一个网页要等很长时间。后来用跟踪工具查了下,有个语句看上去有点问题:跟踪的数据:
eventclass=sql:BatchCOmleted    cpu:2952   Reads:755847  Writes:3164  duration:6623  spid=75
SQL语句:
SELECT TOP 8 id, ArticleClass_id, Subject,Attribute,picpath, AddTime,color,AbsoluteUrl,pagename  FROM v_Article_Order WHERE   int_OrderAttribute in (50,60,73,80,110,120,130,90,40)  AND IsPass=1 AND Published=1 AND DeleteFlag=0 ORDER BY int_OrderNumber,OrderID desc小弟真是无解了,望各位大大能帮忙解决一下问题,如果实在不行就只能卸载2005数据库,返回到2000了。
服务器配置是X3650,4G内存,三硬盘RAID5

解决方案 »

  1.   

    int_OrderAttribute in (50,60,73,80,110,120,130,90,40)
    这个用不到索引
      

  2.   

    你看看你的tempdb怎么设置的。 
    给分配大一点吧
      

  3.   

    int_OrderAttribute这个字段和in一起用 用不到索引
      

  4.   


    有点大 http://blog.csdn.net/fredrickhu/archive/2009/09/21/4575197.aspx
    http://blog.csdn.net/fredrickhu/archive/2009/09/21/4575185.aspx
      

  5.   

    ORDER BY int_OrderNumber,OrderID desc 如果那个字段没加索引,没关系
      

  6.   

    v_Article_Order 是表还是视图?
      

  7.   

    有偿支持,提供持续的后续服务
    这个网站优化方案1K足够
    SQL 7、2000、2005 and 2008
    QQ:315054403 MSN:[email protected]
      

  8.   

    增加硬件肯定有改善,但硬件的成本比加个索引的成本要高得多。
    首先还是要从sql优化方面着手。
      

  9.   


    多谢指点,添加索引后有了一定的改善,Reads数从755847降到了191126。我再继续努力,争取能把问题彻底解决,也感谢大家热心的帮助。