创建FK会自动索引列吗?

时间:2009-12-20 16:07:16

标签: sql mysql

我正在使用mySQL 5.1,我想知道,在FK关系中定义后,是否有必要在列上添加CREATE INDEX语法。常识告诉我,如果列是一个键(外来的或其他的),那么它需要被索引 - 但你永远不知道......

我是否必须在我的FK上显式创建索引 - 或者创建FK是否隐式在列上创建索引?

1 个答案:

答案 0 :(得分:7)

引用MySQL手册的这一页:13.6.4.4. FOREIGN KEY Constraints

  

InnoDB需要外国索引   键和引用键,以便   外键检查可以快速而不是   需要进行表扫描。
在   引用表,必须有一个   索引所在的外键列   被列为第一列   同样的顺序。
这样的指数是   在引用表上创建   如果它不存在则自动。