【性能调优】:记录一次数据库sql语句性能调优过程

时间:2022-09-18 10:39:07

一,依旧很简单的一个接口,查询列表接口,发现10并发单交易场景下,数据库表4w铺底数据,每次查询2000条数据进行orderby显示,平均响应时间2秒以上,数据库的cpu使用率高达95%;

二,抓到这条sql语句:

select *from table1 t1   left join table2 t2 on t1.id = t2.id where 1=1 and ....order by t1. ..

二,添加索引后,测试,发现平均响应时间0.5秒,tps提升4倍多,但是数据库的CPU的使用率依旧是95%以上,

三,分析sql语句后,本来一句很简单的sql语句,检查了有检查,发现原因在t1.id = t2.id 这个上面,两张表关联的字段的字段类型不一样,一个是bigint型,一个是varchar型,导致了cpu资源消耗;

以上,