记录sql优化,排查公司定制化项目的慢接口问题

 

 leader给了个任务做排查慢接口的问题。

1、首先确定不是网络,服务器和JVM的问题

2、在接口的业务逻辑处作日志或者输出时间打印

 

 

 

 发现是第二次sql的问题。

3、用explain对sql执行计划进行查看,发现create_time的索引失效了。是因为create_time使用了函数,函数会使索引失效。

 

 4、首先改成不用函数,可以发现索引并没有失效。但还是会有问题,因为这个sql查询的是过往所有的数据,就是看设备设置的预警天数是多少天,如果是400天。或者几百天,数据就会特别大。该表存储的设备数据就达到千万级别了。所有在跟leader沟通过后,这里的业务逻辑需要在沟通一下。因为确定预警天数不应该是要查这么多天,只需要过往一天有一条数据有预警就可以进行返回该设备处于预警状态。

 

posted @ 2022-09-08 14:42  古家杰  阅读(65)  评论(0)    收藏  举报