避免MySQL中的外键关系出现问题

时间:2011-06-17 19:01:31

标签: mysql foreign-key-relationship

几个月前我在一次会议上遇到了Rasmus Lerdorf。在他的演讲中,他提出的一个建议是我们很少使用外键,因为如果外键关系出现问题,它可能会锁定整个数据库。

这是Rasmus警告的外键强制执行的操作:“当一个表具有另一个表的外键时,参照完整性的概念表明您不能将记录添加到包含外键的表中,除非有链接表中的相应记录。“

另一方面,外键非常适合文档记录,保持井井有条,并建立可以节省编码腿部工作的关系。

在利用这些优势的同时,可以采取哪些措施来降低外键风险?

This question / answer在确定外键的好处和风险方面做得很好,但我正在寻找更具体的见解,如何避免陷阱,同时利用好处。

1 个答案:

答案 0 :(得分:0)

数据库不会锁定,它是一个写得很糟糕的应用程序。

当然,你可以在构建应用程序时采取一些快捷方式,但是后来你更有可能因为没有使用FK而对你所拥有的不一致数据进行了研究。