我有一张名为 T 的表。它有 4 个属性:x、y、z 和 w。
我在表格中加载了数据。然后,在 x 上创建一个索引,并在 y 上创建另一个索引。
现在,当我提交此查询时:
select count(*) from T where x <= 10 and y <=100;
我假设将使用索引 x 和索引 y。
然而,这不会发生!
当我在 select 语句之前使用命令 EXPLAIN 时,它将索引 x 和 y 显示为“ possible_keys
”但列下“ key
”有 NULL。这意味着没有使用索引。
现在,如果我提交此查询:
select count(*) from T where x<=50;
然后 MySQL 使用索引 x,如 EXPLAIN 命令所示。
那么,条件中的 AND 是阻止使用索引还是我在这里做错了什么?
问候!