选型原则:在保证足够用的前提下尽量选择最小类型!
整型数据优化
①存储人的年龄应该使用哪种数据类型?答:使用tinyint类型(无符号型)
②存储乌龟的年龄应该使用哪种数据类型?答:使用smallinit类型(无符号型)
③存储一个1500万数据的数据表其主键id应该选择哪种数据类型?答:使用mediumint(无符号型),大约在0-1600万左右
①考虑空间问题
②考虑范围问题(unsigned无符号)
字符串类型优化
char(length)占用的空间为 固定的,与内容多少无关;
varchar(length)占用的空间为 实际内容字符个数*字节 + 1
①如果要存储一个11位的手机号码?答:选择char(11)比较合适
②如果要存储一个32位的md5加密密码?答:选择char(32)比较合适
③如果要存储一个用户名或一个标题,由于不确定具体要存放多少个字符,为了避免空间的浪费建议使用varchar类型。
④如果要存储一个描述信息(不超过250个汉字),使用varchar(255)比较合适。
如果要存储一个文本信息(文章内容),其超过了255个字符,建议使用text文本类型。
时间类型优化
在实际应用中,由于date类型主要用于存储时间信息,但是在php中,我们有相关的函数可以对整型数据和时间进行转化,所以实际应用中,大部分情况存储时间都是转化为整型数据直接存储的5、枚举类型与集合类型
如果程序中有单选或多选情况,不建议使用varchar类型,而建议使用枚举类型或集合类型。
6、IP类型数据的存储
经常要保存IP地址,这个时候不建议使用varchar类型来保存数据,而建议使用整型来保存IP信息
//php中ip转整形
echo ip2long("192.168.1.1");
//整形转ip
echo long2ip(3232235777);
本文介绍了MySQL字段类型的优化策略,遵循在确保需求的基础上选择最小数据类型的原则。针对整型数据,如年龄和主键id,推荐使用tinyint到mediumint(无符号型)。对于字符串类型,如手机号和MD5密码,推荐使用char或varchar,考虑固定长度和可变长度的场景。时间类型优化提倡使用适合的日期时间类型。此外,枚举和集合类型适合单选和多选场景,IP地址存储推荐使用整型而非varchar。
1万+

被折叠的 条评论
为什么被折叠?



