MySQL資料庫設計規範

Mraz發表於2018-12-20

資料庫設計規範

  • 命令規範

    • 所有的單詞使用小寫+下劃線分割組合
    • 禁止使用MySQL保留關鍵字
    • 臨時表命名: tmp_tablename_20180101
    • 備份表命名: bak_tablename_20180101
  • 擁抱InnoDB(事務、行級鎖、恢復性、高併發)
  • 編碼選擇:UTF-8
  • 對錶、欄位統一註釋
  • 控制單表資料量大小

    • 一般行數不大於500萬
    • 分庫分表
    • 歷史資料歸檔
  • 謹慎使用分割槽表

    • 分割槽表邏輯上為一個表,在物理上為多檔案
    • 分割槽表效率低
    • 使用物理分割槽表管理大資料
  • 熱冷資料分離,減小表的寬度

    • 減小磁碟IO
    • 更有效地利用快取
  • 禁止在表中預留欄位

    • 修改欄位造成鎖表,成本高
  • 表中禁止儲存圖片、檔案等資料
  • 禁止線上上正式環境做壓力測試(使用專門測試環境)
  • 禁止從開發環境、測試環境直連正式環境的資料庫

相關文章