mysql优化-- int类型解析及其优化

来源:互联网 发布:少林足球 知乎 编辑:程序博客网 时间:2024/06/12 10:28

大家都知道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:如果一个字段中只有几个固定的整数 尽量使用枚举 不用 整数类型

0 0
原创粉丝点击