MySQL中char/varchar和text的区别

  1. 存储方式和检索方式都不一样
  2. 数据的检索效率是:char > varchar > text
  3. 空间占用方面:
  • char:存储定长数据方便,存储效率极高,必须在括号里定义长度,可以有默认值。比如char(10),即不论存储的数据长度是否达到了10字节,都要占去10个字节空间(自动用空格填充),且在检索的时候会自动将空格隐藏掉,所以检索出来的数据记得用trim子类的函数过滤空格
  • varchar:存储变长数据,但效率没有char高,必须在括号里定义长度,可以有默认值。保存数据的时候,不进行空格填充。如果数据存在空格时,当值保存和检索时尾部的空格仍会保留。另外,varchar类型的实际长度是它的值的实际长度+1,这一个字节用于保存实际使用了多大的长度。
  • text:存储可变长度的非Unicode数据,最大长度为2^31-1个字符。text不能有默认值,存储或检索过程中,不存在大小写转换,后面如果指定长度,不会报错误,但是这个长度是不起作用的,意思就是你插入数据的时候,超过你指定的长度还是可以正常插入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值