mysql數據庫建表的幾點建議

  • 絕大多數表單表列數保持在15個以內,如果你的字段超過15個,你應該考慮根據業務對錶做垂直分表,數據拆分,這樣既保證業務數據清晰,又能減輕單表讀寫壓力
  • 列數據選擇正確的相關類型存儲,如 int,char, varchar
  • 建表時同時建立索引(當然視情況而定,有的表不需要建索引,就不要畫蛇添足了), 避免上線後發現各種慢的問題再去建索引,這樣直接影響線上業務,如果剛好需要建索引的表數據量大,且讀寫訪問頻繁,則很大機率直接導致服務宕機(線上環境你敢讓服務宕機?),雖然可以通過其他工具或複製表的方式規避這個問題,但是如果開始就能建好,何必後面的這些麻煩呢
  • 建大數據量表時,同時建立分區,例如按時間分區,按自增ID分區,避免上線後修改,影響線上業務,當然分區也只是一種方式,你也可以提前設計好分庫分表模式或單庫分表模式,這裏分表指水平分表,垂直分表終究還是無法解決單表數據量大的問題,總之提前設計好,不然就是給自己或者後面來的人挖坑
  • 列字段設置相關默認值,避免出現爲(null, none)時,程序在對取出的數據做比較或判斷時出現異常,而這個異常出現概率極低,導致測試也沒發現(本人親身經歷,int字段默認爲null, 取出的數據有些爲數字,有些爲null,導致測試環境程序沒問題,線上環境出錯)
  • 發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章