【问题标题】:MySql -Difference of Use Index vs Normal SelectMySql - 使用索引与普通选择的区别
【发布时间】:2014-11-13 14:37:14
【问题描述】:

例如,我有 Employee 表。它具有列 ID、名称、地址、年龄。 我有两种索引。

  • 索引名称:IdOnly,字段:Id
  • 索引名称:IdAndName,字段:Id,名称

我的第一个查询是正常选择

从 ID=1 的员工中选择 *

第二个我称之为索引名称

Select * from employee use INDEX(IdOnly) where Id=1

这两者有什么区别?有查询时差吗?

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    这两者有什么区别?

    在你暗示mysql 使用idOnly 索引的那一刻(它仍然可能会忽略它)

    有查询时差吗?

    通常情况下,第二个查询很可能更差(在性能方面;而且在可维护性方面肯定更差),因为通常优化器比你(很多)聪明。

    所以经验法则是“更新”使用USE INDEX。当你知道你可能违反这条规则时,你可能会违反它。

    【讨论】:

      猜你喜欢
      • 2018-07-21
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      • 2011-02-07
      • 2015-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多