資料庫外來鍵的優勢以及缺點

2021-08-01 12:39:18 字數 796 閱讀 3953

首先來說,主鍵和索引是不可少的,不僅可以優化資料檢索速度,也可以在一定程度上減少**的邏輯判斷。

但說到外來鍵,就有兩個問題:一是對db資料完整性和一致性的影響;二是對效能的影響

優勢:1,由資料庫自身保證資料一致性,完整性,更可靠,因為程式很難100%保證資料的完整性,而用外來鍵即使在資料庫伺服器當機或者出現其他問題的時候,也能夠最大限度的保證資料的一致性和完整性。

eg:資料庫和應用是一對多的關係,a應用會維護他那部分資料的完整性,系統一變大時,增加了b應用,a和b兩個應用也許是不同的開發團隊來做的。他們如何協調保證資料的完整性,而且一年以後如果又增加了c應用呢?

2,有主外來鍵的資料庫設計可以增加er圖的可讀性,這點在資料庫設計時非常重要。

3,外來鍵在一定程度上說明的業務邏輯,會使設計周到具體全面

缺點:1,可以用觸發器或應用程式保證資料的完整性

2,過分強調或者說使用主鍵/外來鍵會平添開發難度,導致表過多等問題

3,不用外來鍵時資料管理簡單,操作方便,效能高(匯入匯出等操作,在insert,update,delete資料的時候更快)

eg:在海量的資料庫中想都不要去想外來鍵,試想,乙個程式每天要insert數百萬條記錄,當存在外來鍵約束的時候,每次要去掃瞄此記錄是否合格,一般還不止乙個欄位有外來鍵,這樣掃瞄的數量是成級數的增長!

結論:1,在大型系統中(效能要求不高,安全要求高),使用外來鍵;在大型系統中(效能要求高,安全自己控制),不用外來鍵;小系統隨便,最好用外來鍵。

2,用外來鍵要適當,不能過分追求

3,不用外來鍵而用程式控制資料一致性和完整性時,應該寫一層來保證,然後個個應用通過這個層來訪問資料庫

資料庫外來鍵的使用以及優缺點

摘錄網上討論共同觀點 主鍵和索引是不可少的,不僅可以優化資料檢索速度,開發人員還省不其它的工作,矛盾焦點 資料庫設計是否需要外來鍵。這裡有兩個問題 乙個是如何保證資料庫資料的完整性和一致性 二是第一條對效能的影響。正方觀點 1,由資料庫自身保證資料一致性,完整性,更可靠,因為程式很難100 保證資料...

資料庫外來鍵的使用以及優缺點

摘錄網上討論共同觀點 主鍵和索引是不可少的,不僅可以優化資料檢索速度,開發人員還省不其它的工作,矛盾焦點 資料庫設計是否需要外來鍵。這裡有兩個問題 乙個是如何保證資料庫資料的完整性和一致性 二是第一條對效能的影響。正方觀點 1,由資料庫自身保證資料一致性,完整性,更可靠,因為程式很難100 保證資料...

資料庫外來鍵的使用以及優缺點

主鍵和索引是不可少的,不僅可以優化資料檢索速度,開發人員還省不其它的工作,矛盾焦點 資料庫設計是否需要外來鍵。這裡有兩個問題 乙個是如何保證資料庫資料的完整性和一致性 二是第一條對效能的影響。正方觀點 1,由資料庫自身保證資料一致性,完整性,更可靠,因為程式很難100 保證資料的完整性,而用外來鍵即...