讀阿里資料庫設計開發規範引發的思考

2022-03-10 14:15:22 字數 441 閱讀 9932

總結設計資料庫時外來鍵到底應不應該使用?

阿里的建議:

至於為什麼是不用,貌似沒做具體說明,然後我就自己搜尋了下,做出下面的總結。

以學生和成績的關係為例,學生表中的student_id是主鍵,那麼成績表中的student_id則為外來鍵。如果更新學生表中的student_id,同時觸發成績表中的student_id更新,即為級聯更新。外來鍵與級聯更新適用於單機低併發,不適合分布式、高併發集群;級聯更新是強阻塞,存在資料庫更新風暴的風險;外來鍵影響資料庫的插入速度。

外來鍵是否採用,看業務應用場景,以及開發成本的。

說到底還是效能問題,如果說系統對效能要求高,則不用外來鍵,否則,則可以使用(注意在程式中處理好資料的一致性)。

讀阿里資料庫設計開發規範引發的思考

總結設計資料庫時外來鍵到底應不應該使用?阿里的建議 至於為什麼是不用,貌似沒做具體說明,然後我就自己搜尋了下,做出下面的總結。以學生和成績的關係為例,學生表中的student id是主鍵,那麼成績表中的student id則為外來鍵。如果更新學生表中的student id,同時觸發成績表中的stud...

資料庫開發規範參考

一.命名規範1.使用 innodb 儲存引擎 2.使據庫和表的字符集統一使用 utf8 字符集 3.所有的表和字段都要新增注釋 4.盡量控制單錶資料量控制在 500 萬行以內 5.謹慎使用 mysql 分割槽表 6.做到冷熱資料分離,減少表的寬度 7.禁止在表中建立預留字段 8.禁止在資料庫中儲存,...

MYSQL資料庫開發規範

自己總結的mysql開發規範,夠用就行了。1 表 1.1 表必須要有主鍵,主鍵使用自動遞增,型別為int。1.2 表名使用有意義的英文單詞,可用下劃線分割。如需使用縮寫時,不可使用意義不明的縮寫。1.3 需要多表join的字段,資料型別保持絕對一致。1.4 字段命名時需要加上表名,確保所有表中的字段...