查詢緩慢的緣由redis
是否向數據庫請求了沒必要要的數據
1.查詢時是否返回了所有或者大部分數據而後再進行處理的。
2.進行單查或者多表聯查時是否返回了所有列數據。例如:數據庫
SELECT * FORM table1 WHERE a=1; SELECT * FORM table1 LEFT JOIN table2 LEFT JOIN table2 where a = b;
查詢時儘可能只查本身須要的字段,儘可能不要用*查詢
查詢400萬數據,十個字段時直接使用*查詢耗費時間爲11s,只查詢id時耗費3s左右緩存
拆分複雜的查詢方式網絡
減小對COUNT的使用,由於InnoDB使用COUNT是作的全表掃描,對大表使用COUNT查詢會很是緩慢分佈式