Mysql优化3:字段类型选择

1 字段类型选择

1.1尽量少的占据存储空间
int整形
类型 大小 范围(有符号) 范围(无符号)
TINYINT 1字节 (-128,127) (0,255)
SMALLINT 2字节 (-32768,32767) (0,65535)
MIDIUMINT 3字节 (-8388608,8838607) (0,16777215)
INT 4字节 (-2147483648,2147483647) (0,4294967295)
BIGINT 8字节 (-) ()

时间类型date
time() 时分秒
datetime() 年月日 时分秒
year() 年份
date 年月日
timestamp 时间戳

1.2数据的整合最好是固定长度
char(长度)
固定长度,运行速度快
长度:255字符限制
varchar(长度)
长度不固定,内容比较少的时候要进行部位操作,该类型要保留1-2个字节保存当前数据的长度。
长度:65535字节限制,例如可以存储65535/3-2个utf8字符集的汉字。
例如存储手机号码:char(11)固定长度,选择char字符
1.3信息最好存储为整形的
①时间信息可以存储为整形的(时间戳)1
select from_unixtime(时间戳) from 表名 #这条语句查出来的时间直观明了
②set集合类型:set(篮球,足球,台球,冰球
③enum枚举类型:enum(,,保密
推荐使用set和enum类型,内部会通过整形信息参与具体运算、运行。
④ip地址也可以变为整形信息进行存储(mysql内部有算法吧ip变为数字,也可以把数字变为ip)
mysql : inet aton(ip) inet ntoa(数字)
php : ip2long(ip) long2ip(数字)

你可能感兴趣的:(mysql,个人笔记)