1. 程式人生 > >資料庫設計除了需要遵守正規化還需要的遵守的原則

資料庫設計除了需要遵守正規化還需要的遵守的原則

1. 可用性

舉一個簡單的例子,就像現在部落格園可以上傳的字元數量,如果該欄位的長度只有500字,這顯然不能滿足場景的要求

2. 適當超前

超前到什麼程度需要根據對應用的預期來定。拿QQ來說,馬化騰最初肯定預見不到QQ能有目前的使用者量與活躍度,畢竟那是近20年前的事情了。

對於本文設定的應用場景,我們把超前設定為網站的文章數量達到了千萬級。這時如果只把文章存在一張資料表裡,讀寫效能必然是會急劇下降的,這必然會導致使用者體驗變差,使用者流失。

合理的解決方案之一是分為兩張資料表,一張儲存熱門文章,另一張儲存非熱門文章。畢竟熱門文章佔少數,熱門文章的載入速度相對就更快了。

3. 資料庫欄位型別選擇

當一個列可以選擇多種資料型別時,應該優先考慮數字型別,其次是日期或者二進位制型別,最後是字元型別。

decimal用於儲存精確資料,而float只能用於儲存非精確資料。故精確資料只能選擇用decimal型別。

4. 主鍵的選擇

儘量與業務不相關,佔空間儘可能小

5. 避免使用外來鍵

增加維護成本,降低資料匯入效率