MySQL覆盖索引
需要判断是否需要回表操作,就比如查询条件和where条件都存在索引,但是不一定会覆盖索引,联合索引可以更好地适合覆盖索引。
假如以下字段全是普通索引:
EXPLAIN SELECT
id,
sku_name
FROM
t_supplier_goods
WHERE
supplier_id = 3
不会走覆盖索引Extra为null
EXPLAIN SELECT
id,
supplier_id
FROM
t_supplier_goods
WHERE
supplier_id = 3
会走覆盖索引Extra为Using index
具体可以使用explain中的Extra分析
常见的方法是:将被查询的字段,建立到联合索引里去。
地址:https://www.cnblogs.com/theRhyme/p/11438357.html
mysql中where条件和OrderBy当中都存在索引
走不走索引还是跟where条件里的字段是否建立索引有关,如果where条件里字段未建立索引,那查询不会使用索引,建立联合索引,减少了using_filesort的排序操作,可以提高查询效率。
地址:https://www.cnblogs.com/yqzc/p/12541917.html