高性能Mysql數據庫表設計原則

一、更小一般更好mysql

  選擇表示數據的最小類型(正確存儲你的內容):好比說,可以使用char 數據類型存儲,就沒必要選擇varchar,可以使用int型存儲數據,就不該該使用long型。sql

   理由:更小的數據類型使用了更小的磁盤空間,內存和cpu緩存,並且須要的cpu週期也更少。緩存

   確保不會低估要存儲的值。(可以很好的把握需求,對要存儲的數據要比較精確的判斷)性能

二、簡單就好優化

儘量選擇簡單的數據類型存儲數據,mysql的數據類型不外乎int,char,varchar,text等等。那麼在選擇的時候,儘可能選擇最簡單的基本數據類型存儲數據。好比我日常存儲時間的時候通常都是存成int類型。設計

 理由:越簡單的數據類型,須要的cpu週期越少。索引

三、儘可能避免null內存

儘量的把字段定義爲 not null。字符串

理由:Mysql 難以優化引用了可空列的查詢,空列會使索引,索引統計和值更加複雜,可空列須要更多的存儲空間。通常來講,設置默認值(DEFAULT)是個比較好    的習慣。固然該條對Mysql表性能的提高影響不是很大,不該放在最優先考慮的地位。二維碼

 

咱們在設計一個Mysql數據表的時候:

第一步:大體肯定字段的數據類型,數字,字符串,時間等,比較直觀

第二步:肯定特定的類型,好比說 :數字裏有tinyint,smallint,int,long等,選擇最合適的一個(更小一般更好)

第三步:若有必要,請爲字段設置默認值。

固然,索引優化確定是必不可少的,不過這屬於設計表完成以後的優化範圍了。

掃一掃上方二維碼關注咱們,可得到更多資訊!

相關文章
相關標籤/搜索