mysql數據建模規范


某大型互聯網公司mysql設計規范
總體原則:
I: 反第三范式-->第三范式僅僅是在大學里用的,出來后,不能隨便用;
II: 數據冗余 --> 一張表幾百萬甚至上千萬數據,你不搞數據冗余,以后數據量上來了,查詢肯定很慢。
 
具體原則:
1 字段設計:最短最小原則,夠用即可,可以用varchar(10)的,不要用varchar(20),能用smallint的,不要用int
2 字段類型:能用數字的,不要用varchar,數字類型的,查詢速度要優於字符串
3 字段數量:不要超過50個
4 字段命名:見名知意,簡單明了,駝峰表示,不要用大小寫,那是java語言的規范
5 常規表,應該都包含以下字段 create_user create_time update_user  update_time
6 根據需要,設計is_delete字段,選擇進行邏輯刪除還是物理刪除。
7 sys_version,存在並發更新的表,可以添加該字段:
  update table set col1 = value1,sys_version = sys_version + 1 where id = id and sys_version = sys_version
8 盡量不要有join查詢,如果確實需要join,join的數量,不能超過3個
9 不要設計物理外鍵
10 不要在sql語句上叫mysql進行隱士類型轉換
11 盡量不要在mysql的字段上進行函數運算,尤其是索引列.
12 百萬以上數據,再考慮建立索引,字符串類型要建立前置索引,索引數量,限制個5個以內。
13 不要用視圖,存儲過程
14 設置ts字段(timestamp),初始值為insert time,數據更新時為當時的更新時間


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM