text和blob

        上篇提到char和varchar,他们都是用来存储字符串的。而且它们是在保存少量字符串时用,比如用户名,密码。text和blob也是保存字符串的,它们用来保存较大文本时用,比如一篇博客内容,一张照片。

        text和blob的区别:

        1、blob能保存二进制数据,比如照片。text只能保存字符数据,比如一篇文章。

        2、text根据存储文本长度不同分为三种:Text、MediumText、LongText。

        3、blob根据存储字节不同分为三种:Blob、MediumBlob、LongBlob。

        在选用不同的数据类型时,可根据实际情况选择能满足需求的最小存储类型。节省空间。

        Blob和Text会引起一些性能问题(尤其是在执行了大量删除操作时):

        1、使用碎片整理(OPTIMIZE TABLE)可回收执行删除操作后留下的空洞

        text或blob在执行了删除操作后,会留下很大的“空洞”,以后再在“空洞”里进行插入时,性能慢。

        2、使用合成的索引提高查询性能

        合成索引就是根据大文本字段的内容建立一个散列值,并把这个值存储在单独的数据列中,然后就可以通过检索散列值找到数据行了。这种技术适用于精确匹配的查询。

若要进行模糊查询可用前缀索引。散列值的生成:可使用MD5()或者SHA1()、CRC32()生成散列值,也可以使用应用程序逻辑计算散列值。

        3、使用where约束条件避免检索大型的包含blob或text值的数据

        4、把blob或text列分离到单独的表中。

        以上内容出自《深入浅出mysql》

总结:

        阳光正好,适合总结。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值