首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该在外键字段上指定索引吗?

问我应该在外键字段上指定索引吗?
EN

Stack Overflow用户
提问于 2011-06-17 23:21:58
回答 2查看 50关注 0票数 0

我有一个包含大约10个表的MySQL数据库,其中大约6个表以这样或那样的方式相互链接。我的问题是,我应该在外键上指定索引吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-17 23:28:02

在文档中:"InnoDB要求对外键和被引用的键建立索引,以便外键检查可以快速进行,而不需要表扫描。在引用表中,必须有一个索引,其中外键列以相同的顺序作为第一列列出。如果引用表不存在,则会自动在引用表上创建这样的索引。(这与某些旧版本不同,在这些版本中,必须显式创建索引,否则创建外键约束将失败。)如果给定了index_name,则按照前面所述的方式使用。“

来源:http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html

票数 2
EN

Stack Overflow用户

发布于 2011-06-17 23:26:17

是的,如果基数足够高,你应该这样做。好的,刚才提到这是MySQL特有的问题。看起来是这样,当MySQL不存在时,您会自动创建一个索引。

然后,Gryphius的答案就更充分了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6388008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档