【问题标题】:Question about MYSQL foreign keys and orphan rows关于MYSQL外键和孤行的问题
【发布时间】:2011-03-29 12:05:06
【问题描述】:

如果我在两个表之间添加外键,我是否可以在之后添加孤立行?另外,当我在两个表之间创建外键时,有什么方法可以忽略孤行来创建它?

我的下一个问题是关于外键的效率。我一直认为他们在一个表中的一个键和另一个表中的相应键之间创建了一个索引,这基本上使它在进行连接时成为线性查找。

外键是不是比仅仅拥有一个索引更有效,还是它们是一样的?

谢谢。

【问题讨论】:

  • 没有父母,没有孩子,索引和外键都有不同的用途

标签: mysql database foreign-keys foreign-key-relationship


【解决方案1】:

外键关系通常是在一个表中的外键和另一个表中的主键之间。

主键会隐式创建索引。
不是外键。通常最好在外键列上添加索引。

键是保证数据一致性的约束,可以使用索引来提高对数据的访问性能。所以这些是你在实践中经常结合的不同的东西,因此经常被混淆。

关于孤立行,我认为键的概念是为了防止这种情况。但我不完全确定如果我完全理解你在这里问什么。我认为添加孤立行是不可能的,如果存在孤立行则创建键听起来有点不可能。

另请参阅其他 questions 关于 SO 处理外键/索引主题的内容。
这里有一些更好的answers 与主键/键/索引相关

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多