同学你好,好问题。using index 和 using where 总结的没问题,using index condition 这个稍微要纠正一下,比如拿本节的表 t1 举例,这类SQL:select * from t1 where a=1;(a字段有索引),使用了索引,需要回表,但是执行计划并不是 using index condition。这里就详细讲解下using index condition:在 MySQL 5.6 版本之前,当进行索引查询时,会先通过索引查找记录,然后根据where 条件过滤记录。从 5.6 开始,MySQL 支持了 ICP,在选取索引是,就会通过where条件过滤,可以减少 sql层对记录的索取,从而提高性能。而当 MySQL选取了 ICP,则执行计划中 extra 看到的就是 Using index condition。
老师 您好 using index、using where 、Using index condition 可以值这么理解吗 using index 使用了索引但是不需要回表, using where 没有使用索引, Using index condition 使用了索引,但是需要回表