Java代码优化–接口优化
最近换了一家新公司,面试领导告诉我说接口响应很慢,然分配任务给我去优化接口,然后就有了下面的一些遭遇。
在不了解业务的情况下,需要先找测试定位接口,找到接口之后,开始品味代码了。我个人优化的方式是在每一次的逻辑处理处,打印出处理时间的长度,类似下图:
这样很容易知道这段代码处理所需要的时间,那么也能知道整个接口中,那些地方处理时间过长。通过日志输入定位到范围之后,开始查看代码内部的处理逻辑。
这是一个很简单的根据uid查询出所有信息,大家看我画出来的地方,用到的参数只有2个,但是sql的返回参数却是全量返回了。如果用的是自己接下来这里很多刚入门的同学都会犯这个错误。这里我还是解释一下,返回全量的影响:1、数据库用的是mysql,懂得人都知道,大部分数据查询是会回表的,但是如果全部命中是可以减少回标操作的 ,从而减短查询消耗的时间 ;2、数据量返回少了,传输的速度就快了;所以这里我修改了部分参数返回,速度从2秒缩短到200毫秒。可想而知一个简单的