mysql無索引查詢,怎么判斷sql語句沒走索引?
我這里以mysql為例,可視化工具使用的Navicat。
可以在查詢的sql前面增加explain命令,以此可以查看到sql的運行狀態
explain select * from person where edu ='博士';
下方的控制臺主要關注兩個欄,type和extra
當extra出現Using filesort和Using temproary這兩個時,表示無法使用索引,必須盡快做優化。
當type出現index和all時,表示走的是全表掃描沒有走索引,效率低下,這時需要對sql進行調優。
當type出現ref或者index時,表示走的是索引,index是標準不重復的索引,ref表示雖然使用了索引,但是索引列中有重復的值,但是就算有重復值,也只是在重復值的范圍內小范圍掃描,不造成重大的性能影響。
上一篇想學軟件測試
下一篇如何做一個簡單的APP