設計資料庫時是否使用外來鍵

2022-09-16 22:51:23 字數 590 閱讀 6852

外來鍵是否採用看業務應用場景,以及開發成本的,大致列下什麼時候適合,什麼時候不適合使用:

1. 網際網路行業應用不推薦使用外來鍵: 使用者量大,併發度高,為此資料庫伺服器很容易成為效能瓶頸,尤其受io能力限制,且不能輕易地水平擴充套件;若是把資料一致性的控制放到事務中,也即讓應用伺服器承擔此部分的壓力,而引用伺服器一般都是可以做到輕鬆地水平的伸縮;

2.傳統行業

1>.軟體應用的人數有限,換句話說是可控的;

2>.資料庫伺服器的資料量也一般不會超大,且活躍資料有限;

綜合上述2句話描述,也即資料庫伺服器的效能不是問題,所以不用過多考慮效能的問題;另外,使用外來鍵可以降低開發成本,借助資料庫產品自身的觸發器可以實現表與關聯表之間的資料一致性和更新;最後一點,使用外來鍵的方式,還可以做到開發人員和資料庫設計人員的分工,可以為程式設計師承擔更多的工作量;

為何說外來鍵有效能問題:

1.資料庫需要維護外來鍵的內部管理;

2.外來鍵等於把資料的一致性事務實現,全部交給資料庫伺服器完成;

3.有了外來鍵,當做一些涉及外來鍵字段的增,刪,更新操作之後,需要觸發相關操作去檢查,而不得不消耗資源;

4.外來鍵還會因為需要請求對其他表內部加鎖而容易出現死鎖情況;

大家設計資料庫時是否使用外來鍵

回答一 外來鍵是否採用看業務應用場景,以及開發成本的,大致列下什麼時候適合,什麼時候不適合使用 1.網際網路行業應用不推薦使用外來鍵 使用者量大,併發度高,為此資料庫伺服器很容易成為效能瓶頸,尤其受io能力限制,且不能輕易地水平擴充套件 若是把資料一致性的控制放到事務中,也即讓應用伺服器承擔此部分的...

設計資料庫時使用外來鍵嗎?

外來鍵是否採用看業務應用場景,以及開發成本的,大致列下什麼時候適合,什麼時候不適合使用 1.網際網路行業應用不推薦使用外來鍵 使用者量大,併發度高,為此資料庫伺服器很容易成為效能瓶頸,尤其受io能力限制,且不能輕易地水平擴充套件 若是把資料一致性的控制放到事務中,也即讓應用伺服器承擔此部分的壓力,而...

資料庫是否應該使用外來鍵

開發人員的共識 主鍵和索引是不可少的,不僅可以優化資料檢索速度,開發人員還省不其它的工作。有主外來鍵的資料庫設計可以增加er圖的可讀性,這點在資料庫設計時非常重要。外來鍵在一定程度上說明的業務邏輯,會使設計周到具體全面。當使用外來鍵時,資料庫會比對每條資料的每個外來鍵對應的表中是否存在與該外來鍵相等...