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选择了可能键中没有出现的索引,为什么?
答案 0 :(得分:0)
它不是特定于MariaDB的,请参阅MySQL手册: http://dev.mysql.com/doc/refman/5.6/en/explain-output.html
密钥可能会命名一个不存在的索引 possible_keys值。如果没有possible_keys,就会发生这种情况 索引适用于查找行,但选择了所有列 通过查询是一些其他索引的列。也就是说,命名索引 涵盖所选列,因此虽然它不用于确定 要检索哪些行,索引扫描比数据更有效 行扫描。