如果ID列是主键,是否需要在mySQL表上添加索引?

时间:2013-02-13 10:25:27

标签: mysql join indexing outer-join

我在mySQL中有一个表,其中'id'列是PRIMARY KEY:

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列上加入的查询。

由于

3 个答案:

答案 0 :(得分:12)

不,你不需要这样做。

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

答案 1 :(得分:4)

您无需向PK添加其他索引。

<强> Using Primary Keys

答案 2 :(得分:3)

默认情况下,主键的工作方式与INDEX KEY类似。 你不需要创建它来索引键。