项目中的优化总结(各个方面都可以写)

面试时,说说项目中做了哪些优化过程。

  1. 项目中进行过sql调优吗?数据量有多少?
    答:有,比如我们有一个业务列表查询,是查询采购计划单列表,其中一个查询条件商品名称是在采购计划单详情中。数据量左表8000多条数据,右表为12万左右。接口超时时间为1s。

第一步查看服务日志,正常调用了。
第二步骤查看网关服务超时了。
第三步骤分析代码,查看sql.在sql中执行,发现比较慢。

EXPLAIN
select * from sys_user t1 LEFT JOIN sys_user_role t2 on  t1.user_id = t2.user_id;

在这里插入图片描述

EXPLAIN
select * from sys_user t1 inner JOIN sys_user_role t2 on  t1.user_id = t2.user_id;

在这里插入图片描述
主表本来就有主键索引,inner join会走主表索引自动优化为数据量少的当主表。
而left join则不会走索引。

改造后;
当建立右表user_id_indexx后。发现left join走索引了。
在这里插入图片描述

优化1:改造代码,没有查询条件时,单表查询。有查询条件连表查询。
优化2:连表查询时,关联的id没有建立索引,果断建立索引
优化3:使用的是left join ,改为inner join查询。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值