mysql外键和索引

时间:2016-05-04 07:44:24

标签: mysql innodb

如果我有2张桌子

user
-----------------
id integer PK
name varchar

address
----------------
id integer PK
user_id integer
city varchar

现在,如果在user.id< - >之间存在一对多外键。 adress.user_id 还需要在user_id列中创建索引以加速选择查询?

或者因为我创建了一个外键,我还隐式创建了一个索引,该索引将从dmbs中用于加速查询?

2 个答案:

答案 0 :(得分:0)

索引为created automatically when creating an FK

  

如果已经显式,则忽略index_name值   子表上定义的索引可以支持外键。   否则, MySQL会隐式创建一个名为的外键索引   根据以下规则......

答案 1 :(得分:0)

见本文:http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html

  

InnoDB允许外键引用任何索引列或组   列。但是,在引用的表中,必须有一个索引   引用列列出的位置作为第一列   同样的顺序。

因此该表上有一个索引

相关问题