mysql數據庫建表的幾點建議

  1. 絕大多數表單表列數保持在15個之內,若是你的字段超過15個,你應該考慮根據業務對錶作垂直分表,數據拆分,這樣既保證業務數據清晰,又能減輕單表讀寫壓力
  2. 列數據選擇正確的相關類型存儲,如 int,char, varchar
  3. 建表時同時創建索引(固然視狀況而定,有的表不須要建索引,就不要多此一舉了), 避免上線後發現各類慢的問題再去建索引,這樣直接影響線上業務,若是恰好須要建索引的表數據量大,且讀寫訪問頻繁,則很大概率直接致使服務宕機(線上環境你敢讓服務宕機?),雖然能夠經過其餘工具或複製表的方式規避這個問題,可是若是開始就能建好,何須後面的這些麻煩呢
  4. 建大數據量表時,同時創建分區,例如按時間分區,按自增ID分區,避免上線後修改,影響線上業務,固然分區也只是一種方式,你也能夠提早設計好分庫分表模式或單庫分表模式,這裏分表指水平分表,垂直分表終究仍是沒法解決單表數據量大的問題,總之提早設計好,否則就是給本身或者後面來的人挖坑
  5. 列字段設置相關默認值,避免出現爲(null, none)時,程序在對取出的數據作比較或判斷時出現異常,而這個異常出現機率極低,致使測試也沒發現(本人親身經歷,int字段默認爲null, 取出的數據有些爲數字,有些爲null,致使測試環境程序沒問題,線上環境出錯)
相關文章
相關標籤/搜索