mysql字段类型优化
2016-09-20 17:08
155 查看
选型原则:在保证足够用的前提下尽量选择最小类型!
②存储乌龟的年龄应该使用哪种数据类型?答:使用smallinit类型(无符号型)
③存储一个1500万数据的数据表其主键id应该选择哪种数据类型?答:使用mediumint(无符号型),大约在0-1600万左右
①考虑空间问题
②考虑范围问题(unsigned无符号)
varchar(length)占用的空间为 实际内容字符个数*字节 + 1
①如果要存储一个11位的手机号码?答:选择char(11)比较合适
②如果要存储一个32位的md5加密密码?答:选择char(32)比较合适
③如果要存储一个用户名或一个标题,由于不确定具体要存放多少个字符,为了避免空间的浪费建议使用varchar类型。
④如果要存储一个描述信息(不超过250个汉字),使用varchar(255)比较合适。
如果要存储一个文本信息(文章内容),其超过了255个字符,建议使用text文本类型。
5、枚举类型与集合类型
如果程序中有单选或多选情况,不建议使用varchar类型,而建议使用枚举类型或集合类型。
//php中ip转整形
echo ip2long("192.168.1.1");
//整形转ip
echo long2ip(3232235777);
整型数据优化
①存储人的年龄应该使用哪种数据类型?答:使用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的设计与优化专题(3)】字段类型与合理的选择字段类型
- MySQL 查询优化(查询条件字段传值要和字段取值类型一致)
- mysql 字段类型优化建议
- 往Blob类型字段插入图片,使用与MySql或者Oracle
- mysql中text,longtext,mediumtext字段类型的意思,以及区别
- 关于Mysql的Enum和Set字段类型
- [转]MySql表类型,优化工具
- mysql 字段类型说明
- mysql字段类型
- [MySQL优化案例]系列 -- 用TIMESTAMP类型取代INT和DATETIME
- 比较详细的MySQL字段类型说明
- mysql字段类型说明与用途
- MySQL查询优化系列讲座之数据类型与效率
- mysql 中sql文实现两个dateTime类型的字段相差的小时数精确到0.0000
- mysql 中sql文实现两个dateTime类型的字段相差的小时数精确到0.0000收藏
- mysql 字段类型说明
- MySQL字段类型说明
- MySQL查询优化--数据类型与效率
- MYSQL 字段类型--含义
- mysql修改字段类型