我应该索引我的mysql外键

时间:2015-03-19 19:51:29

标签: php mysql laravel foreign-keys relational-database

我使用mysql作为我的Laravel应用程序的数据库。

在一个表中,我有5个字段是foregin键,那些FK指向5个其他表主键。

现在我只将它们标记为FK,但我是否也需要在每个FK上添加一个索引?或者FK算作指数?

提前致谢,

1 个答案:

答案 0 :(得分:1)

在mysql中制作FK时,它会自动索引该列。

MySQL需要外键和引用键上的索引,以便外键检查可以快速而不需要表扫描。在引用表中,必须有一个索引,其中外键列以相同的顺序列为第一列。如果引用表不存在,则会自动在引用表上创建此索引。如果您创建另一个可用于强制执行外键约束的索引,则可以稍后以静默方式删除此索引。如果给定,则使用index_name,如前所述。

您可以在dev.mysql

了解更多信息