MySQL 索引 eq 到 Key?

标签 mysql key indexing

我想知道是否:

CREATE INDEX IDX_student ON Enrollment (student)

等于:

KEY `IDX_student` (`student`) 

与mysql索引有关。

最佳答案

是的。在大多数情况下,MySQL 将 INDEX 和 KEY 视为同义词。它们引用相同的数据结构。

您甚至可以使用 KEY 或 INDEX 在 CREATE TABLE 中声明索引:

CREATE TABLE foo (
 x INT,
 y INT,
 KEY (x),
 INDEX (y)
);

回复你的评论:

MySQL 5.5 及更高版本(或 5.1,如果你 enable the InnoDB plugin )中的 InnoDB 支持 Fast Index Creation ,它只构建您创建的索引,而单独保留表和其他现有索引。

您无需执行任何不同的操作即可利用此功能,只需像往常一样CREATE INDEXALTER TABLE...ADD KEY。但快速创建索引不适用于以下情况:

  • 更改主键时。
  • 如果您使用 MyISAM 表。
  • 如果您使用 MySQL 5.0 或更早版本
  • 如果您使用 MySQL 5.1 和“内置”InnoDB

关于MySQL 索引 eq 到 Key?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17682531/

相关文章:

java - 链接 HashMap 按值查找键?

c++ - 超大时间序列的最佳品种索引数据结构

mysql - 如何编写可以得到以下结果的 SQL 查询?

mysql - 具有重复值的多列

asp.net - 使用没有 API key 的谷歌地图?

python - 分配(而不是定义)一个 __getitem__ 魔法方法会破坏索引

indexing - RavenDB 中的条件补丁请求

mysql - 表被指定两次作为 INSERT 的目标和单独的数据源

mysql - 左侧边栏带有 dot.gif 的 phpMyAdmin 错误消息

batch-file - 按下按键时执行