mysql優化-- int類型解析及其優化

大家都知道mysql的數據類型非常多,但是在設計數據表的時候,要想有不錯的性能,請注意一下幾點:

   1:數據類型越小越好:例如:如果只存0-200的整數  建議使用:tinyint unsinged 更好

             更小的數據類型佔用的佔用的更少的磁盤,緩存,Cpu,並且處理數據時使用CPU的週期也更少

   2:簡單更好  例如:整數比字符串的操作更低,存儲IP地址或者時間時候 少用字符串,因爲字符集和校對規則使字符串比整形更復雜

   3:儘量少使用NULL MySQL處理NULL字段很複雜,比較的時候,如果這個字段有索引,會耗時

下面說一下INT字段的優化:

  int 有: tinyint                   1個字節         存儲範圍   -128到127                      unsigned     0-255

               smallint                 2個字節         存儲範圍   -32,768 到 32,767          unsigned    0-65535

               mediumint            3個字節         存儲範圍   -8388608到8388607     unsigned    0-16777215    

               int                           4個字節         存儲範圍   -2,147,483,648到 2,147,483,647                    unsigned  0到4294967295

               biginr                     8個字節         存儲範圍   -9223372036854775808到9223372036854775807   unsigned  0-18446744073709551615

   

   優化注意事項:

       1:int(3) =int(10)    int(n) 對數據存儲的大小沒有限制 ,限制存儲範圍的爲數據類型 n:左右只是在你設置字段填充0的時候 不足N的位數的時候填充0

       2:int(3) > tiny(3)    int(3)在存儲的時候佔用磁盤要比 tinyint(3)要大 能選擇tinyint 不選則samllint

       3:可以用字段的unsigned提升存值範圍,無符號和有有符號 使用相同的空間,有相同的性能。

       4:如果一個字段中只有幾個固定的整數 儘量使用枚舉 不用 整數類型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章