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

开发者社区> 问答> 正文

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

这个表是新闻表

[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 4148 0
1 条回答
写回答
取消 提交回答
  • 建立另外一个表。只记录更新时间和对应的新闻id, 新闻里面,不要对更新频繁字段做索引。

    2019-07-17 18:58:47
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新
推荐文章
更多
相关电子书
更多
事务、全局索引、透明分布式
立即下载
RowKey与索引设计:技巧与案例分析
立即下载
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final
立即下载