在数据库 合理性和可能影响到效率的问题上优先选择哪一个?大神指教!!!!!!
在数据库 合理性和可能影响到效率的问题上优先选择哪一个?为什么?
比如:微博中有个被关注数量的统计。
1.在个人资料表中 做个被关注数的保留字段
2.实时计算(就是统计SQL统计)
1.不够合理 因为有个关注表可以统计出来
2.如果人数多的话 关注表的数据量会很大 从中筛选某个讲师被关注数量的开销远比做保留字段大
这种情况下 怎么设计数据表?说说自己的看法
------解决方案--------------------比如:微博中有个被关注数量的统计。
1.在个人资料表中 做个被关注数的保留字段
这个表加一个字段(BrowseCount),客户每浏览一次,这个值加1
2.实时计算(就是统计SQL统计)
不知道是否有特别要求?是不是每留言一次才算是关注?如果这样就要从子表统计出来
这样要建父子表关系,建外键关联
------解决方案--------------------楼主别太纠结……
这问题还不涉及合理性和效率的冲突
个人认为2个表好一些,做好关联就是了。
------解决方案--------------------
既然数据量很大,如果是我,我会保留一个字段。只要你控制好完全没问题。
即使有问题,你可以通过统计语句去更新
------解决方案--------------------数据库合理性是面向研发人员的,而效率是面向客户的,是客户时常感知的,因此你觉得哪个更重要。当然是效率更重要,如果半天都刷不出我的关注人,我还会用这个产品吗,肯定不会。因此效率第一,而数据库合理性也是我们需要重视的,否则如果很不合理,就会影响产品的稳定性。结论是在保证产品稳定性的前提下,优先考虑效率。
------解决方案--------------------完全同意#4楼的方法。
#1.保留字段,效率优先
#2.在系统不忙时,可进行一下校正
------解决方案--------------------如果是我,会用第一种方法,只要被关注一次,就自动加1。
------解决方案--------------------我是来学习的,打个酱油
赚点积分