「MySQL」索引如何优化?请牢记这些规则

本文涉及的脑图

2.in 能够命中索引,查询优化耗费的 CPU 比 union all 多,但可以忽略不计,一般情况下建议使用 in。

4.「补充」:有些地方说在where条件中使用or,索引会失效,造成全表扫描,这是个误区:

1,建立联合索引的时候,区分度最高的字段在最左边

2,存在非等号和等号混合判断条件时,在建立索引时,把等号条件的列前置。如 where a>? and b=?,那么即使a 的区分度更高,也必须把 b 放在索引的最前列。

3,最左前缀查询时,并不是指SQL语句的where顺序要和联合索引一致。