天天看點

高性能可擴充mysql-資料庫設計規範

資料庫設計規範

高性能可擴充mysql-資料庫設計規範

每個公司都有自己資料庫的規範

1資料庫命名規範

1。1所有資料庫對象名稱必須使用小寫字母并用下劃線分割

1。2所有資料庫對象名稱禁止使用Mysql保留字關鍵字

1。3所有資料庫對象名稱要做到見名知義,并且最好不要超過32個字元重點内容

- 臨時庫表必須以tmp_為字首并以日期為字尾

- 備份庫,備份表必須以bak為字首并以日期為字尾

- 所有存儲相同資料的列名和列類型必須一緻

高性能可擴充mysql-資料庫設計規範

2資料庫基本設計規範

- **所有表必須使用Innodb存儲引擎**5.6以後預設的引擎

- 支援事務,行級鎖,更好的恢複性,高并發下性能 更好

- 資料庫和表字元集統一使用UTF-8(統一字元集)

- mysql中UTF-8占用3個位元組,ASCII碼占用一個位元組

- 表和字段加上注釋,comment,資料字典的維護

- 盡量控制單表資料量的大小,建議控制在500萬以内

- (可以使用曆史資料歸檔(日志),分庫分表(業務表)等手段來控制重點内容)

-謹慎使用mysql分區表,分區表在實體上表現為多個檔案,在邏輯上表現為一個表

-謹慎選擇分區表,跨分區查詢效率可能更低

-建議采用實體分表的方式管理大資料

-盡量做到冷熱資料分離,減少表的寬度(減少列的數量)

MySQL限制最多存儲4096列

減少磁盤io,保證熱資料的記憶體緩存命中率

利用更有效的利用緩存,避免讀入無用的冷資料(避免使用select*)

- 經常一起使用的列放到一個表中

- 禁止在表中建立預留字段

- 很難做到見名之意,資料類型不準确

-不要預留字段,以後增加字段比較好

禁止在資料庫中存儲圖檔,檔案等二進制資料存儲在檔案伺服器中

–禁止線上上做資料庫壓力測試,會産生垃圾資料

–禁止從開發環境,測試環境直接連生産環境資料庫

3資料庫索引設計規範

-不要濫用索引(限制每張表上的索引數量,建議單表索引不超過5個)

高性能可擴充mysql-資料庫設計規範

-5.6

高性能可擴充mysql-資料庫設計規範
高性能可擴充mysql-資料庫設計規範

q

高性能可擴充mysql-資料庫設計規範

索引的順序—從左到右的順序

高性能可擴充mysql-資料庫設計規範
高性能可擴充mysql-資料庫設計規範
高性能可擴充mysql-資料庫設計規範

覆寫索引:好處

高性能可擴充mysql-資料庫設計規範
高性能可擴充mysql-資料庫設計規範
高性能可擴充mysql-資料庫設計規範

盡量避免使用外鍵

4資料庫字段設計規範

5資料庫SQL開發規範

6資料庫操作行為規範