explain命令:可以查看SQL的執行計劃,分析SQL是否正確使用索引。
student 表如下:
student 表存儲的數據如下:
用explain查看下面SQL語句的執行計劃:
explain分析SQL執行過程時:
possible_key: 表示SQL執行可能會命中的索引
key: 表示執行過程真正使用的索引名稱
rows: 表示查詢數據影響的行數
分析:當前查詢possible_keys、key都爲null,則未命中索引,
rows=5表示查詢了5條數據,即進行了全表查詢,當前查詢操作對每一行數據都進行比較。
當數據量較大時(400萬時 ),全表掃描效率很低。
給name字段添加索引:
用explain查看上述同樣語句的執行過程:
添加索引之後,再次查詢 "ZhaoLei" 信息,只在表中查詢一行數據即可得到,
當前查詢命中 idx_name索引。