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

标签 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 USERS (id);

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

这里的最终目标是加快连接到表 USERS 的 id 列的查询。

谢谢

最佳答案

不,你不需要这样做。

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

关于mysql - 如果 ID 列是主键,我需要在 mySQL 表上添加索引吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14851339/

相关文章:

php - 将 MySQL 查询结果分组在一起时出错

mysql - SQL - 使用多个引用和 IN 子句进行选择

mysql - 优化sql join查询,对比查询效果

php - 当sql join中存在两列同名时如何从一个表列中获取值

php - 跨应用程序处理自然 JOINed 结果的良好实践

mysql - 如何将两个 FK 从一个表连接到另一个表?

java - C# 无法访问的代码(依赖于属性的数组复制器)

带标签的 MySQL 全文 bool 搜索

database - 在 Linux 上索引大型数据集的最便宜方法(最好使用 sphinx)

每个函数的 jQuery 索引