即使它存在,也不使用索引

时间:2013-12-23 21:12:10

标签: mysql sql join indexing

我有下一个简单查询:SELECT * FROM table LEFT JOIN table2 ON table2.id=table.id WHERE table.id=1在table.id和table2.id

中有索引

当我检查它如何与EXPLAIN一起工作时,它表明它没有使用索引,并且遍历所有行。我用另一个具有相同结构的精确表检查相同的内容,在这种情况下使用索引。

更奇怪的是,如果我有另一个更复杂的查询,如 SELECT * FROM table LEFT JOIN table2 ON table2.id=table.id LEFT JOIN table3 ON table3.id=table.id WHERE table.id=1索引在两个表格中都很完美,即使在有问题的table2

中也是如此

我完全确定这是我的错误,但我真的不知道为什么有时会使用索引,有时候不会......任何MySQL专家都可以帮助我?非常感谢你!

0 个答案:

没有答案