我正在使用mySQL 5.1,我想知道,在FK关系中定义后,是否有必要在列上添加CREATE INDEX语法。常识告诉我,如果列是一个键(外来的或其他的),那么它需要被索引 - 但你永远不知道......
我是否必须在我的FK上显式创建索引 - 或者创建FK是否隐式在列上创建索引?
答案 0 :(得分:7)
引用MySQL手册的这一页:13.6.4.4. FOREIGN KEY Constraints:
InnoDB需要外国索引 键和引用键,以便 外键检查可以快速而不是 需要进行表扫描。
在 引用表,必须有一个 索引所在的外键列 被列为第一列 同样的顺序。
这样的指数是 在引用表上创建 如果它不存在则自动。