【问题标题】:Do I need to add an index on a mySQL table if the ID column is the primary key?如果 ID 列是主键,我是否需要在 mySQL 表上添加索引?
【发布时间】:2013-01-28 20:50:37
【问题描述】:

我在 mySQL 中有一个表,其中 'id' 列是主键:

CREATE TABLE `USERS` (
  `ID` mediumint(9) NOT NULL auto_increment,
  .....
  PRIMARY KEY  (`ID`),
  KEY `id_index` (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=267 DEFAULT CHARSET=latin1;

我还添加了如下索引:

CREATE INDEX id_index ON USERS (id);

我需要这样做吗?还是主键自动索引?

这里的最终目的是加快加入表 USERS 的 id 列的查询。

谢谢

【问题讨论】:

标签: mysql join indexing outer-join


【解决方案1】:

默认情况下,主键就像 INDEX KEY 一样工作。 您不需要创建它来索引键。

【讨论】:

    【解决方案2】:

    不,你不需要这样做。

    主键被自动索引。您需要的是索引其他表中的外键列。

    【讨论】:

    【解决方案3】:

    您不需要为 PK 添加额外的索引。

    Using Primary Keys

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-22
      相关资源
      最近更新 更多