加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql char、varchar、text等字符串类型定义Mysql必读

发布时间:2020-12-12 00:50:12 所属栏目:MySql教程 来源:网络整理
导读:《mysql char、varchar、text等字符串类型定义Mysql必读》要点: 本文介绍了mysql char、varchar、text等字符串类型定义Mysql必读,希望对您有用。如果有疑问,可以联系我们。 导读:1.对于长度基本固定的列,如果该列恰好更新又特别频繁,适合char2.varchar虽

《mysql char、varchar、text等字符串类型定义Mysql必读》要点:
本文介绍了mysql char、varchar、text等字符串类型定义Mysql必读,希望对您有用。如果有疑问,可以联系我们。

导读:1.对于长度基本固定的列,如果该列恰好更新又特别频繁,适合char2.varchar虽然存储变长字符串,但不可太小也不可太大.UTF8最多能存21844个... 1.对于长度基本固定的列,适合char

2.varchar虽然存储变长字符串,但不可太小也不可太大.UTF8最多能存21844个汉字,或65532个英文

3.varbinary(M)保存的是二进制字符串,它保存的是字节而不是字符,所以没有字符集的概念,M长度0-255(字节).只用于排序或比较时大小写敏感的类型,不包括密码存储

4.TEXT类型与VARCHAR都类似,存储可变长度,最大限制也是2^16,但是它20bytes以后的内容是在数据页以外的空间存储(row_format=dynamic),对它的使用需要多一次寻址,没有默认值.
一般用于存放容量平均都很大、操作没有其它字段那样频繁的值.
网上部分文章说要避免使用text和blob,要知道如果纯用varchar可能会导致行溢出,效果差不多,但因为每行占用字节数过多,会导致buffer_pool能缓存的数据行、页下降.另外text和blob上面一般不会去建索引,而是利用sphinx之类的第三方全文搜索引擎,如果确实要创建(前缀)索引,那就会影响性能.凡事看具体场景.
另外尽可能把text/blob拆到另一个表中

5.BLOB可以看出varbinary的扩展版本,内容以二进制字符串存储,无字符集,区分大小写,有一种经常提但不用的场景:不要在数据库里存储图片.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读