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(数字)