当在其他索引中找不到结果时,MySQL是否进行全表扫描

时间:2016-10-24 22:05:48

标签: mysql

假设我们有一个具有以下结构的普通表:id列是主键,其他几列都有索引键(单索引键)和一列有唯一键(而不是索引键)。 / p>

  1. 如果我们使用索引键搜索其中一列而在索引中找不到结果(假设mysql将使用索引进行搜索),mysql会进行全表扫描以验证是否存在结果符合标准?

  2. 几乎与上述情况相同,但这次不是按索引键搜索列,而是使用唯一键搜索列。 mysql会进行全表扫描吗?

  3. 提前感谢您的答案!

2 个答案:

答案 0 :(得分:3)

  

如果我们使用索引键搜索其中一列并且在索引中找不到结果(假设mysql将使用索引进行搜索),mysql会进行全表扫描以验证没有匹配的结果标准是什么?

没有。仍然没有结果。有什么意义呢?

  

几乎与上述情况相同,但这次不是按索引键搜索列,而是使用唯一键搜索列。 mysql会进行全表扫描吗?

同样的问题:同样的答案。该指数是独一无二的。

全表扫描可以从索引扫描中产生不同结果的唯一方法是索引是否有问题。

答案 1 :(得分:1)

如果您的索引不能完全扫描。

如果你在一个专栏中没有找到任何内容,为什么要寻找其他专栏?