MySQL优化---数据类型介绍

MySQL优化---数据类型

MySQL优化---数据类型

1.尽可能使用最小类型,尽量使用最小类型存储。

2. tinyint unsigned(0-255)1字节==8位 二进制1111 1111  = 255

3. tinyint (-128-127) 

4.尽量避免NULL

  

整数类型:

1.tinyint:1字节 

2.smallint:2字节

3.mediumint:3字节

4.int:4个字节 (建索引比varchar快很多)

5.bigint  8字节

Int(?): ? 代表宽度,和varchar类型的长度限制不同。

表示没有设定的宽度的时候,用0来补充,但是需要配合zerofill来使用

create table bbb(id int(11) zerofill,id2 int(1));

INSERT INTO bbb VALUES(1,1)

 

 

小数类型

Float : 4字节

Double: 8字节

Decimal(8,2)用于精度极其高的计算,如财务的计算 ,价格可以以分做单位100.01 数据库存储10001

 

字符串类型

1.varchar

 变长的字符串

 优势:节省空间

 缺点:在update的时候,如果数据长度变长了,就会去申请空间,就会有额外的工作,对性能有影响

什么情况下使用varchar:

 1.字符串的最大长度比平均真实值大的比较多,这个时候就用

     Varchar(100) , 平均用的只有20字符,但也有80,90的长度的值

 2.更新频率比较低的字符串字段

 存储空间:

 非空:65533字节

 可空:65532字节

2.Char

存储长度:create table t (char(10) not null)

非空: 存储255字节

    可以为空:存储254字节

    定长的字符串

什么情况使用:

    1.适合存储比较短的字符串

    2.存储固定长度或者存储长度比较接近的字符串

    例如:手机号,MD5加密的密码

    3.经常变更的数据,不容易产生碎片

    4.存储比较短的字符串值,例如 Y/N

    注意点:如果插入的值末尾有空格,会自动截取掉

3.Text

非非二进制字符串,变长的

4.Blob

用于存储二进制数据,大二进制数据

 

日期时间类型:

1.year  1字节 1byte

2.date 3字节   YYYY-MM-DD

3.time 3字节  HH:MM:ss

4.Datetime    8字节  YYYY-MM-DD HH:MM:ss

5.Timestamp 4字节

 

区别:

存储空间

Datetime 存储到9999年, 查看比较直观 阿里规范中使用表示时间

Timestamp 从1970-1-1凌晨 存储到2038年 确定程序用不到2038年的建议使用

 

参考资料 动脑学院老师笔记。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值