Mysql分类聚合查询的优化方法和体会总结
需求
按用户分类查出每个用户得到积分最多的2天是哪两天,分别获得多少积分。
数据源
用户积分表
用户表
原本的查询方式通过在业务程序中遍历查询到的所有用户的ID,对每一个用户进行查询得到积分最多的2天的记录, 再对所有查询到的数据进行整合。
查询结果
错误原因
需要多次查询数据库造成数据库开销过大
业务程序需要多次对查询的数据进行遍历整合,影响程序效率
优化
优化查询语句,一次查询得到结果
查询结果
通过对照查询记录,可以看出,本次查询将将之前的多次查询成功优化成只查询一次SQl即获得了所有的数据。
总结
在开发过程中应尽量多的考虑数据操作的方式,采纳最优的方方式。
SQl语句的优化对于程序的性能优化是非常巨大的,所以尽量考虑把SQL优化到较为优雅的程度
多站在SQL的角度去快乐编程^_^
领取 专属20元代金券
Get大咖技术交流圈