开发者社区> 问答> 正文

数据库频繁更新的表,而且这个这个表的部分字段频繁读写排序,我这里经常出现死锁,该怎么设计才能避免死锁呢?

这个表是新闻表

[news]
id

viewTimes 总浏览量
viewTimesToday 今日浏览量
viewTimesWeek 本周 浏览量 
viewTimesMonth 本月浏览量

这几个浏览量的字段,页面访问一次就会更新一次
更新非常频繁
而且为了提高检索速度 做了排序索引

select top 100 *from news order by viewTimes desc
select top 100 *from news order by viewTimesToday desc
select top 100 *from news order by viewTimesWeek desc

到底该怎么设计呢?

如果把这些统计的信息单独放到另外一张表,虽然不会有过多的死锁情况,但那样在检索文章的时候就没法排序了

这些情况基本上在网站访问量大的情况下产生

不知道大侠们遇到过这样的问题没

有没有什么好的方法?

展开
收起
小旋风柴进 2016-03-11 11:24:05 4200 0
1 条回答
写回答
取消 提交回答
  • 建立另外一个表。只记录更新时间和对应的新闻id, 新闻里面,不要对更新频繁字段做索引。

    2019-07-17 18:58:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载