數據庫設計規范:總結
所有數據庫對象名稱必須使用小寫字母並用下划線分割
所有數據庫對象名稱禁止使用Mysql保留關鍵字
數據庫對象的命名要能做到見名識義,並且最好不要超過32個字符
數據庫設計規范:
臨時庫必須以tmp為前綴並以日期為后綴
備份庫,備份表必須以bak為前綴並以日期為后綴
-------
所有存儲相同數據的列名和列類型必須一致
=======================================
數據庫明明規范總結
所有數據庫對象名稱必須小寫
命名要能做到見名識義,禁止使用Mysql保留關鍵字
臨時表以tmp_開頭,備份表以bak_開頭,並以時間戳結尾
所有存儲相同數據的列名和列類型必須一致
數據庫基本設計規范:
所有表必須使用Innodb存儲引擎
5.6以后的默認引擎
支持事務,行級鎖,更好的恢復性,高並發下性能更好
數據庫和表的字符集同意使用UTF8
統一字符集可以避免由於字符集轉換產生的亂碼
MySQL中的UTF8字符集漢字點3個字節,ASCII碼占用1個字節
所有表和字段都需要添加注釋
使用comment從句添加表和列的備注
從一開始就進行數據字典的維護
盡量控制單表數據量的大小,建議控制在500萬以內
500萬並不是MySQL數據庫的限制
可以用歷史數據歸檔,分庫分表等手段來控制數據量的大小
Msql最多可以存儲多少萬數據呢?
這種限制取決於存儲設置和文件系統。。
謹慎使用MySQL分區表
because分區表在物理上表現為多個文件,在邏輯上表現為一個表
謹慎選擇分區鍵,跨分區查詢效率可能更低
(大表)建議采用物理分表的方式管理大數據
盡量做到冷熱數據分離,減小表的寬度
減少磁盤IO,保證熱數據的內存緩存命中率
利用更有效的利用緩存,避免讀入無用的冷數據
經常一起使用的列放到一個表中
禁止在表中建立預留字段
預留字段的命名很難做到見名識義
預留字段無法確認存儲的數據類型,所以無法選擇合適的類型
對預留字段類型的修改,會對表進行鎖定
(修改一個字段的成本,大於新增字段)
禁止在數據庫中存儲圖片,文件等二進制數據
禁止在線上做數據庫壓力測試(會產生大量垃圾數據)
禁止從開發環境,測試環境直接連接生產環境數據庫
====================
數據庫進步設計規范總結
所有表必須使用Innodb存儲引擎
所有表和字段都需要添加注釋,並使用UTF8字符集
盡量控制單表數據量的大小,並且把冷熱數據分離
禁止使用預留字段以及在表中存儲打的二進制數據
索引設計規范
索引對數據庫的查詢性能來說是非常重要的
1.限制每張表上的索引數量,建議單張表索引不超過5個
索引並不是越多越好!索引可以提高效率同樣可以降低效率
禁止給表 中的每一列都建立單獨的索引