一,依旧很简单的一个接口,查询列表接口,发现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资源消耗;
以上,