慕莱坞0977972

老师 您好 using index、using where 、Using index condition 可以值这么理解吗 using index 使用了索引但是不需要回表, using where 没有使用索引, Using index condition 使用了索引,但是需要回表

2019-09-20
1
4
回复 1
马听老师 回复 慕莱坞0977972

同学你好,好问题。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。

2019-09-24
没有更多内容
取消 回复 发送