2016-11-22 84 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 索引适合查找行,但查询中选定的所有列为 的列都是其他某个索引的列,则可能会发生这种情况。也就是说,指定的索引 覆盖了选定的列,因此虽然它不用于确定 要检索哪些行,但索引扫描比数据行扫描更有效。