注意昂貴的關係
阿新 • • 發佈:2018-12-14
內容:注意資料模型中的關係。
場景:當設計資料模型、新增表/列、寫查詢語句或從長計議考慮實體之間的關係會如何影響效率和擴充套件性。
用法:當設計資料模型時,考慮資料庫分離和未來可能的資料需求。
原因:實施之後在修復被破損資料模型的費用是設計過程中修復的100倍。
要點:超前考慮,仔細計劃資料模型。設計正規化時,考慮將來如何拆分資料庫和應用系統可能的資料需求。
成本效益是衡量資料庫關係的標尺。下列是資料庫的常用正規化:
1.第一正規化:表應該代表了一種關係而且沒有重複組。最重要的概念是建立鍵的能力。
2.第二正規化:非鍵欄位不能僅由組合鍵中的某一個鍵來描述。
3.第三正規化:所有非鍵欄位必須由鍵來描述。
4.第四正規化:記錄型別不應該包含兩個或兩個以上的多值事實。
5.第五正規化:表中每個重要的連線依賴都由候選鍵說明。
6.第六正規化:不存在非平凡的連線依賴。
滿足前三個正規化的資料庫稱為標準正規化資料庫。
關係型資料庫滿足的正規化越高,規範程度越高,最終資料一致性的維護效果越好,當然操作過程中耗費的時間成本就越高。當SQL查詢由於連線表的需求而效能不佳時,可以考慮如下操作:
1.調整查詢語句
2.建立檢視、物化檢視、彙總表等對連線表進行預處理。
3.不在查詢中進行表連線,而是在結果集中進行處理,這會導致記憶體消耗和更加難以擴充套件。