sqlserver2005 表15万条左右的新闻数据,陆续增加中,没有做索引,有主键。主要用来读数据,浏览。写操作涉及的是每浏览一次新闻,相应的新闻纪录 update news set Hit=Hit+1 wehere id=xx 一次访问数,最近网站访问量增加,发现很多update在死锁状态,去掉update后性能有所改善,但网站还是需要了解每条新闻的访问量,这个问题该如何解决好?

解决方案 »

  1.   

    增加点击率的这个sql不要写在  查看新闻的页面里  
    可以使用 ajax 异步请求那条sql  ,也就是页面加载完成后请求这个增加点击量的sql 。
    就是出现并发等待用户也感觉不出来了
      

  2.   

    分表如何?把NewsId Hit放到另一个表做update用,不影响select的表,但维护起来麻烦。。
      

  3.   


    update news set Hit=Hit+1 wehere id=xx这里的ID列就是PRIMARY KEY吗?
      

  4.   


    可以这样考虑,增加一个news的跟踪表,用来记录Hit,只有id,hit字段即可,news.id = 跟踪表.id进行关联,更新只更新跟踪表,news表只查数据