mysql 数据类型选择原则

1、更小的通常更好;

2、简单的就好

3、尽量避免使用NULL,为什么呢?对mysql来说,更难优化;跟多的存储空间,当可为NULL的被索引,每个索引记录需要一个额外的字节。但是通常,把可为NULL的列改成NOT NULL代理的性能提升比较小。但是如果你要在这一列上建索引,就应该尽量避免成为NULL的列

 

整形 tiny  small medium int begin  分别是8 16 24 32 64位,通常你在mysql中指定位数没有意义,对于存储和计算来说,int(1)和int(20)是相同的

unsigned会加长一倍

 

实数型

float double 类型支持使用标准浮点运算进行近似计算

decimal 类型用于存储精确的小数  小数点是会占空间的,mysql内部使用double作为内部浮点计算类型

 

VARCHAR类型 可变长字符串 为啥经常在建表的时候碰到varchar(255) ,因为这需要使用1或 2个额为字节记录字符串长度,如果列最大长度小于或者等于255字节,则只是用1个字节表示,否则使用2个字节 

char是定长的,它非常适合用来存储MD5值,经常需要变更的,非常短的,char会截断最后的空格,varchar不会

 

blog和text类型 分别采用二进制和字符方式存储

 

使用枚举(ENUM) 代替字符串类型

 

ip地址应该使用无符号整数存储IP地址。MySql提供INET_ATON()    和 INET_NTOA() 函数在这两种方法之间转换

 

posted @ 2018-08-16 20:58  queqp  阅读(578)  评论(0编辑  收藏  举报