mysql分享记录
今天公司进行了一次mysql的分享,做一下记录,也许很多东西很简单,但是对于不知道的人就很难
1.用最小代价存储
举个例子来说,如果能确定某个字段是存数字的,并且数字的大小一定不会超过127或255,那么就应该用tinyint来存储而不是int
在存储整数类型时,每种类型占用的字节是不一样的:
tinyint 1
smallint 2
mediumint 3
int 4
bigint 8
对于枚举信息附加顺序毫无意义
整形括号内的数字无意义
2. decimal(n,m)对于小数点后超出的部分做四舍五入的运算, 最大取值n 1-65 m 0-30
基于上述的理论,完全不用考虑由于数据库的限制导致溢出,因为在java中无法处理一个65位的整形
3.字符
定长 char(n) 0,255 单位 char
定义为0,只可以放null和空字符串
变长 varchar(n) 255*255 单位 char
实际上UTF-8最多可以存储64K/3的varchar