我只在done_status(done_status = INT)上设置了带有索引的表:
当我使用时:
EXPLAIN SELECT * FROM reminder WHERE done_status=2
我回来了:
id select_type表的类型possible_keys键key_len参考行额外 1 SIMPLE提醒ALL done_status NULL NULL NULL 5使用
但是当我发出以下命令时:
EXPLAIN SELECT * FROM reminder WHERE done_status=1
我得到以下返回:
id select_type表的类型possible_keys键key_len参考行额外 1 SIMPLE提醒参考ref done_status done_status 4 const 2
该EXPLAIN
让我发现,它采用5行,第二次2行。
我认为索引没有被使用,如果我第一次正确地理解它,它应该给我3行。我做错了什么?
SHOW INDEX FROM reminder
:
表非唯一键名Seq_in_index列名归类基数子部分打包为空Index_type注释Index_comment 提醒1 done_status 1 done_status A 5 NULL NULL BTREE
解释扩展:
id select_type表的类型possible_keys键key_len ref行已过滤额外 1个SIMPLE提醒ref done_status done_status 4 const 2 100.00
show warnings
没有显示任何感兴趣的内容。