system
const
eq_ref
ref
ref_or_null
index_merge
unique_subquery
range
index
这里要查询的字段和条件都在联合索引中,不是第一列,但是没有索引失效
小结:
联合索引下 越长越好
rows
filtered
联合索引比单列索引更快
主键最好自增,否则会产生页分裂,影响性能
字段使用函数会导致索引失效
类型转转导致索引失效
创建时索引字段顺序改变一下可以解决
统一使用utf8mb4( 5.5.3版本以上支持)兼容性更好,统一字符集可以避免由于字符集转换产生的乱码。不
同的 字符集 进行比较前需要进行 转换 会造成索引失效
上面这个左外查询会被优化器优化为内连接查询
当优化为内连接查询之后,优化器决定先查询哪张表,哪张表就是驱动表
因为需要回表,索引没有生效,优化器觉得数据量过大,成本较大
如果只查询索引字段,不用回表,这时候索引就会生效
加上limit只取10条,这时候索引又生效了,因为10条数据回表成本较低
情况1
情况2