MySQL 面试经典100题(收藏版,附答案)

数据库基础:MySQL 索引使用的注意事项

  1. 索引失效情况
  2. 查询条件包含OR,可能导致索引失效
  3. 如果字段类型是字符串,在WHERE中一定要用引号括起来,否则索引失效。
  4. 使用 LIKE 通配符时可能导致索引失效,尤其是以通配符开头的模式匹配
  5. 在联合索引中,如果查询条件列不是索引中的第一个列,索引不会被使用。
  6. 在索引列上使用 MySQL 的内置函数或进行算术运算,索引失效。
  7. 使用!=<>NOT INIS NULLIS NOT NULL等可能导致索引无效。
  8. 左连接或右连接查询时,字段编码格式不一致可能导致索引失效。
  9. 当 MySQL 估计全表扫描速度高于索引时,它会选择全表扫描

  10. 索引不适合的场景

  11. 数据量少的表不建议加索引,因为索引维护成本高
  12. 更新频繁的列不适合加索引,因为频繁修改会降低索引效率
  13. 区分度低的字段(如性别)不适合加索引,查询优化作用不明显

  14. 索引的一些潜规则

  15. 覆盖索引:查询仅涉及索引列时,避免回表操作,显著提高查询效率
  16. 最左前缀原则:在复合索引中,只有使用最左边列查询时,索引才会生效