场景:
现有table_app,table_comment两个表,table_app存放app应用数据,table_comment存放用户的评论,table_comment.appid用于关联table_app
需求:
要求对table_app进行分页排序,排序依据是table_comment.rank与table_app.download_times进行计算得到的值
问题:
原则上可以通过复杂的SQL语句达到目的,但在数据量达到一定量级的时候,SQL语句的执行效率可能会变得很低,请教是否有大神碰到过类似问题,对有这种问题应该才去什么样的解决方案比较合适?
合适的解决方式应该和具体业务关系比较大,例如实时性的要求、那两个字段计算的复杂度。
可以在table_app加个冗余字段,可以加于table_app.download_times进行计算的那个值;也可以加那两个字段计算后的值,看情况吧。
如果评论产生速度很大,可以考虑每隔一段时间(具体看实时性要求)对冗余字段进行更新。如果评论产生速度不大,每次更新那冗余字段。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。