开发者社区> 问答> 正文

关于数据表反三范式的一点疑问?

一个简单的问题:

文章分类表:

article_type(id, name, pid, num)

这个num是该分类下的文章数量,我之前一直就是这样的,在新增文章或者删除文章时都会更新对应分类的num字段。

但是现在我觉的这好像没有必要,因为每个文章分类下面的文章数量可以通过文章表很容易的count()算出来,所以就觉得这个num是多余的了,并且编辑文章操作时还要更新article_type表num感觉有点烦。

我想取消这个字段,但是又很纠结,因为,这样以后相对的select语句会增多,以前直接从num取就行了,现在每次都要count()一下,有多少个分类就要count()几下,感觉是不是相对于以前而言有性能问题,不太合理呢?

感觉就这么个简单的问题就已经涉及程序的耦合,表的范式设计等考量。

纠结,希望大神指点,谢谢!

展开
收起
a123456678 2016-07-01 15:30:58 2098 0
2 条回答
写回答
取消 提交回答
  • 这种情况取决于count的代价,如果count是数十条或者数百条,那怎么做性能差距都不大。但是如果cout涉及上万条的统计,则不适合每次查询都去count,更好的做法是把count结果放到缓存,发生变化的时候更新缓存。

    2019-07-17 19:50:08
    赞同 展开评论 打赏
  • screenshot

    2019-07-17 19:50:08
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
RowKey与索引设计:技巧与案例分析 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载