JAVA面试题学习6 - 联合索引 问题存在联合索引 ABCAB、BC、BAC、A or B 是否会走索引解答联合索引的原理是构建如 A ?- B ? - C ? 三层的 B只能按照 A - B - C 的顺序挨个遍历因此要遵循最左匹配原则。AB会走索引BC没走到A不会走索引BACMySQL 优化器会对顺序进行优化 变成 ABC 的顺序因此会走索引A or B满足 A 可以走索引但不满足 A 时 B 不会走索引导致 MySQL 最终整体放弃走全表扫。推荐使用 union 或 union all 代替