資料庫設計需要注意什麼?
阿新 • • 發佈:2019-07-05
1.資料庫表、欄位必須必須加入中文註釋
因為時間一長如果名字有不是很規範,你不知道這些欄位做什麼用的.
2.禁止使用儲存過程、檢視、觸發器、event
因為在高併發量的情況下,我們應該把計算轉移到服務層,否則這些功能很可能把資料庫拖垮。
3.禁止儲存大檔案和圖片
不能讓資料庫做它不擅長的事情,大檔案和照片都存在檔案系統中,資料庫存放URL
4.禁止使用外來鍵,如果有外來鍵完整性約束,需要應用程式控制
外來鍵會導致表與表之間耦合,update和delete操作都會涉及相關聯的表,十分影響sql的效能,甚至會造成死鎖,高併發情況下容易造成資料庫效能下降,高併發場景下資料庫使用以效能為主。
5.使用varchar(20)儲存手機號
因為有的國家代號或者區號什麼的,會出現+-(),varchar可以支援模糊查詢,例如 like "138%"
6.單表索引建議控制在5個以內,單索引欄位數不允許超過5個
欄位超過5個時,實習已經起不到有效過濾資料的作用。
7.禁止在更新十分頻繁,區別度不高的屬性上加索引
更新會變更B+樹,更新頻繁的欄位建立索引會大大降低資料庫效能
性別這種區分度不大的屬性,建立索引是沒什麼意義的,不能有效過濾資料,效能和全表掃描類似
8.建立組合索引,必須把區分度高的欄位放在前面
能夠更加