【性能調優】:記錄一次數據庫sql語句性能調優過程

一,依舊很簡單的一個接口,查詢列表接口,發現10併發單交易場景下,數據庫表4w鋪底數據,每次查詢2000條數據進行orderby顯示,平均響應時間2秒以上,數據庫的cpu使用率高達95%;sql

二,抓到這條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資源消耗;索引

以上,接口

相關文章
相關標籤/搜索