本實例是對慢sql從2萬優化到5千優化方法的匯總。
首先貼上優化效果:
1、更新數據時使用ID更新;
2、"分頁/輪詢"查詢時先獲取符合數據要求主鍵的最大和最小ID,然后WHERE條件增加ID步增查詢;
3、檢查SQL是否命中WHERE條件(EXPLAIN檢查),根據數據的有效時間,強制增加時間查詢(發現幾年前的數據都反復被查出來,但是系統又處理不,純屬浪費資源);
4、業務拆分,使用MQ代替SQL查詢新增的待處理的數據;
5、連表查詢時選擇合適的中間表;
6、在業務操作層面限制數據量,WHERE IN限制單次操作個數;
7、使用緩存表,固定的數據存儲到獨立的表中;
8、時間查詢范圍要閉合;
...