mysql分享记录

时间:2024-10-10 18:06:20

今天公司进行了一次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