2011-06-17 40 views
0

幾個月前我在一次會議上遇到了Rasmus Lerdorf。在他的演講中,他提出的一個建議是我們很少使用外鍵,因爲如果外鍵關係出現問題,它可能會鎖定整個數據庫。避免MySQL中的外鍵關係出現問題

下面是外鍵強制執行Rasmus警告:「當一個表具有到另一個表的外鍵時,參照完整性的概念指出,您不可以向包含外鍵的表添加記錄,除非存在鏈接表中的相應記錄「。

另一方面,外鍵非常適合文檔編制,保持組織和建立關係,以節省編碼工作。

在利用好處的同時,可以採取什麼措施來減輕外鍵的風險?

This question/answer做了一個很好的工作,既闡述了外鍵的好處和風險,但我正在尋找關於如何避免陷阱但利用好的更具體的見解。

回答

0

數據庫不會鎖定,它是寫在其上的寫得不好的應用程序。

當然,在構建應用程序時可以使用一些快捷方式,但稍後您更可能因爲沒有使用FK而導致數據不一致。