2016-11-22 40 views
0
id:'1', 
select_type: 'SIMPLE', 
table: 's', 
type: 'index', 
possible_keys: 'PRIMARY', 
key: 't_sensors_sensor_type_id_fk', 
key_len: '2', 
ref: NULL, 
rows: '4', 
Extra: 'Using index; Using temporary; Using filesort' 

我的問題是: 可能鍵列是正確的,但關鍵列是錯誤的,MariaDB的選擇未在可能的密鑰呈現指數,爲什麼呢?MariaDB的解釋輸出奇怪

回答

0

它不是MariaDB的特異性,參見MySQL手冊: http://dev.mysql.com/doc/refman/5.6/en/explain-output.html

這是可能的密鑰將命名的索引中不存在在 possible_keys值。如果沒有任何possible_keys 索引適合查找行,但查詢中選定的所有列爲 的列都是其他某個索引的列,則可能會發生這種情況。也就是說,指定的索引 覆蓋了選定的列,因此雖然它不用於確定 要檢索哪些行,但索引掃描比數據行掃描更有效。