什么情况下索引会失效?

索引失效的场景

可能导致查询无法使用索引的原因包括:

  • 对索引字段进行了运算或者使用了函数;

  • 查询中的数据类型和字段类型不一致;

  • 违反了索引的最左匹配原则;

  • 全表扫描更快。

    -- 找到 100 之后要遍历叶子结点,找出比 100 大的值
    -- 评估查询行数接近数据总行数,优化器会选择全表扫描
    EXPLAIN
    SELECT *
    FROM test t
    WHERE col1 > 100;