-- report 123.77k行 report_loss 620 行 -- inner join ;report_loss 索引 all report 索引 eq_ref ; -- total 0.01118s EXPLAIN SELECT * FROM report INNER JOIN report_loss ON report.id=report_loss.ReportId; -- inner join 前進行處理 ; report_loss 索引 index report 索引 eq_ref 臨時表 索引 all;臨時表只有一列 -- total 0.0931s EXPLAIN SELECT * FROM report INNER JOIN (SELECT reportid FROM report_loss ) a ON a.reportid=report.Id; -- where in ; report_loss 索引 index report 索引 eq_ref -- total 0.00593s EXPLAIN SELECT * FROM report WHERE id IN (SELECT reportid FROM report_loss )
首先類型有許多,用的最多的類型:性能
system>const>eq_ref>ref>range>index>ALL優化
越往左邊,性能越高,好比system就比ALL類型性能要高出許多,其中system、const只是理想類型,基本達不到;spa
咱們本身實際能優化到ref>range這兩個類型,就是本身寫SQL,若是你沒優化基本上就是ALL,若是你優化了,那就儘可能達到ref>range這兩個級別;code