时间类型:统一设定为 bigint 8字节 优点:易于java转型 大部分直接System.getcurrentXXX()获得
货币类型:统一设定为 decimal 长度按需设计 小数点 按需设计 优点:更加准确
短字符串:设定为
长文本:TEXT 范围是0-65535字节的长文本数据
账号数字:可以选择int 4字节 个人认为有争议,如果一旦要去模糊搜索,Mysql会转为Varcahr进行搜索?
短数字:占用1字节 取值范围是 -128~127
时间类型 datetime
和 timestamp
区别
内存占用:datetime 8字节,timestamp 4字节
展示格式:均是yyyy-mm-dd hh:mm:ss
时区影响:datetime 不受失去影响,而timestamp 存储是以UTC形式,会受到时区影响
存储范围不一样:datetime 是任意时间 ,timestamp是 1970-01-01 08:00:01 - 2038-01-19 11:14:07
特别说明:因为timestamp受到时区影响,如果数据库存储的是起始时间,那么就会导致结果少于1970年,就会报错!
字符串类型 char 与 varchar 区别
内存占用:
(不同编码格式,占用字节数不同,我们就新定义一个字符位,表述字符占用的位数,毕竟内存占用 总空间 =位数 x 此编码格式每字符所占用的字节数)
char是定长,如果你长度定位4,你填写"a" 其他3位填充空字符,也是占用4个字符位
varchar是"a" 会使用2个字符位,浪费一个字符位存储长度,如果"aa" 就会用3个字符位
特殊说明: 上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤