mysql疑问,关于查询效率问题

图片说明

如题求解!!」

第一个表示在索引字段中使用 = 或者 > < 等可以确定索引范围的条件查找,不用遍历索引字段
第二个表示 必须遍历索引字段 譬如,你的索引字段是字符串你使用like查找

从好到坏的顺序: 2-1-3
3没有用到索引所以效率是最低的,1使用到了索引,但是需要进行回表扫描,即进行2次查询,1次是查询索引取到相应的主键PK,然后根据PK再去表中查找相应的数据,而2 使用到了覆盖索引,不会进行回表扫描,举个列子:你建立了一个复合索引 (code,name) ,然后你查询时: select code,name from user where code='1' 这时就会用到覆盖索引不会进行回表,而当你查询 select code,name,age from user where code='1' 或者select * from user where code='1' 时就会进行回表,所以从好到坏的顺序: 2-1-3