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

如果ID列是主键,我是否需要在mySQL表上添加索引?,mysql,join,indexing,outer-join,Mysql,Join,Indexing,Outer Join,我在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 U

我在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);
我需要这样做吗?或者主键是否自动编制索引

这里的最终目的是加速在表用户的id列上进行连接的查询


谢谢

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


不,您不需要这样做


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

默认情况下,主键的工作方式与索引键类似。
您无需创建此索引键。

MySQL将自动创建索引。可能与的重复。我做了一些测试。