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

2022-07-29 05:45:10 字數 590 閱讀 6387

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

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

2.傳統行業

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

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

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

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

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

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

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

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

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

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

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

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

資料庫設計外來鍵

今天心情很煩躁,公司來了新員工,我感覺到自己這個渣渣要晚年不保啊,隨後就隨便網上逛逛,看到這個挺有意思。設計外來鍵竟然還有人不會?哈哈哈,這不是說我呢嘛!外來鍵一般用於一對多的時候,比如說某個型別type下面可能有多個物件。訂單的話,乙個訂單號肯定會有關於這個訂單 號碼 的訂單詳情,這是給客戶看的,...