例如我有员工表。它有列 ID、姓名、地址、年龄。 我有两种索引。
- 索引名称:IdOnly,字段:Id
- 索引名称:IdAndName,字段:Id、名称
我的第一个查询是正常选择
Select * from employee where Id=1
第二个我称之为索引名称
Select * from employee use INDEX(IdOnly) where Id=1
这两个有什么区别?查询时间有差异吗?
最佳答案
what is the difference of these two?
在第二个中,您暗示 mysql
使用 idOnly
索引(它仍然可能会忽略它)
Is there query time difference?
一般情况下第二个查询很可能更糟糕(在性能方面;并且在可维护性方面肯定更差),因为通常优化器比你聪明得多。
因此,经验法则是“更新”使用USE INDEX
。当您知道自己可能违反此规则时,您可能会违反该规则。
关于MySql - 使用索引与普通选择的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26902719/