Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于MYSQL外键和孤立行的问题_Mysql_Database_Foreign Keys_Foreign Key Relationship - Fatal编程技术网

关于MYSQL外键和孤立行的问题

关于MYSQL外键和孤立行的问题,mysql,database,foreign-keys,foreign-key-relationship,Mysql,Database,Foreign Keys,Foreign Key Relationship,如果我在两个表之间添加外键,是否允许在之后添加孤立行?另外,当我在两个表之间创建外键时,有没有办法忽略孤立行来创建它 我的下一个问题是关于外键的效率。我一直认为他们在一个表中的一个键和另一个表中相应的键之间创建了一个索引,这基本上使它在进行连接时成为一个线性查找 外键是否比索引更有效?或者它们是相同的 谢谢。外键关系通常在一个表中的外键和另一个表中的主键之间 主键不隐式创建索引。 不是外键。通常,在外键列上添加索引是一种很好的做法 键是保证数据一致性的约束,索引可以用来提高数据的访问性能。所以这

如果我在两个表之间添加外键,是否允许在之后添加孤立行?另外,当我在两个表之间创建外键时,有没有办法忽略孤立行来创建它

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

外键是否比索引更有效?或者它们是相同的


谢谢。

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

主键不隐式创建索引。
不是外键。通常,在外键列上添加索引是一种很好的做法

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

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

另请参见关于处理外键/索引主题的其他说明。

这里有一些与主键/键/索引相关的更好的功能

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