我应该索引我的 mysql 外键吗

Should I index my mysql foregin keys

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

在一个 table 中,我有 5 个字段是外键,这些 FK 指向另外 5 个 table 的主键。

现在我只标记了他们为FK,但我是否需要为每个FK 都添加索引?还是 FK 算作索引?

提前致谢,

在 mysql 中,当创建 FK 时,它会自动索引该列。

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

您可以在 dev.mysql

上阅读更多内容