记录myql优化思路:
1.使用索引。
查看索引的顺序
2.业务调整
和产品沟通,看能否能在业务上添加条件,以便过滤大多数数据
3.数据库表调整
例子:我们APP有个业务场景。 查询用户所有车辆的7天 内每一天的总里程。
我们的数据权限:用户有车辆组,组下有车辆。里程需要根据用户的数据权限过滤出车辆在根据车辆得到里程。这样查询的时间在6-8秒;后来分析sql耗时;发现时间大部分在数据权限过滤上;
解决思路:因为用户的数据权限的关系是 ************** 用户id----部门id----车辆车牌---单车单日总里程。现在减少关联线。
用户id*****部门id ******部门id对应的单日总里程
新建一个部门id和单日里程关联表;这样就可直接根据用户id找到部门id组***得到里程;修改后时间在0.1秒就可以加载出数据。