开发者社区> 问答> 正文

MySQL多表多字段计算排序

场景:
现有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语句的执行效率可能会变得很低,请教是否有大神碰到过类似问题,对有这种问题应该才去什么样的解决方案比较合适?

展开
收起
蛮大人123 2016-02-07 17:00:34 2636 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    合适的解决方式应该和具体业务关系比较大,例如实时性的要求、那两个字段计算的复杂度。
    可以在table_app加个冗余字段,可以加于table_app.download_times进行计算的那个值;也可以加那两个字段计算后的值,看情况吧。
    如果评论产生速度很大,可以考虑每隔一段时间(具体看实时性要求)对冗余字段进行更新。如果评论产生速度不大,每次更新那冗余字段。

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

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像