为什么InnoDB为外键列添加索引

ampi89

当使用innoDB引擎在MySQL中向列添加外键时,MySQL自动添加索引。主键足以搜索行,如何通过为外键列添加索引来影响性能。

提前致谢。

谢伦德拉

MySQL文档在这里清楚地说明了背后的原因

MySQL要求在外键和引用键上建立索引,以便外键检查可以快速进行,而无需进行表扫描。在引用表中,必须有一个索引,其中外键列以相同的顺序列为第一列。如果这样的索引不存在,则会在引用表上自动创建。

通常有许多查询联接,这些联接需要根据外键对行进行匹配,数据库必须查找这些行。索引通常有助于此操作更快。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

索引每列以添加外键

为什么Laravel自动为约束列添加索引

为什么MySQL在表更新期间为外键创建索引

MySql - Innodb - 损坏的索引/外键

为什么Rails 5将“索引”更改为“外键”?

为什么索引未按(外键)按顺序使用

外键列的默认值-InnoDB

为什么mysql的自动添加为外键检查的指标?

尝试添加外键时,为什么MYSQL错误?

为什么不添加外键约束groovy / grails

MYSQL - 无法添加外键约束,但为什么呢?

Rails为什么不自动为关联生成外键?

外键列的聚集索引

MySQL-为什么我不能将外键添加到指向一列的多列中?

mysql 8(innodb)对新创建索引的外键约束

为什么我不能为该列分配外键?

为什么实体框架要寻找错误的外键列?

为什么当我引用外键时数据列显示为模型名称对象(1)?姜戈

外键索引还是常规列索引?

为外键约束添加或添加约束

为什么不能添加引用父表的组合键的外键?

MySQL错误:1215无法添加外键约束[外键相同类型,innodb]

MySQL是否自动索引外键列?

用压缩索引替换外键列

将外键添加到索引列是否可以提高性能?

为什么我的mySQL抛出“错误1215(HY000):无法添加外键约束”

为什么在以下sql命令中出现“无法添加外键约束”错误?

为什么将外键字段添加到模型后 URL 不起作用?

Hibernate将两个外键关系解释为复合主键(MappingException)。为什么?