MySQL编程进阶之:`JSON`数据类型与`BLOB`、`TEXT`的性能对比与适用场景。

各位观众老爷,晚上好!我是今晚的主讲人,咱们今儿个就来聊聊MySQL里那几位“存储大户”——JSONBLOBTEXT,看看它们之间到底有啥恩怨情仇,以及在不同场景下谁更能打。

咱们先来热热身,简单介绍一下这三位:

  • JSON 这位是后起之秀,专门用来存储JSON格式的数据。JSON格式嘛,相信大家都见过,长得像Python里的字典或者JavaScript里的对象,键值对的那种。好处是结构化,方便程序读写。

  • BLOB (Binary Large Object) 这位老大哥,啥都能装,二进制数据、图片、视频、压缩包,只要是二进制的,它都照单全收。

  • TEXT 这位也算老牌选手了,主要用来存储长文本数据,比如文章、评论、日志等等。

好了,热身结束,咱们进入正题,开始扒一扒它们的性能和适用场景。

第一回合:存储空间

存储空间,这可是真金白银啊!谁更省钱,谁就更有优势。

数据类型 说明
JSON 存储JSON数据时,MySQL会对JSON进行解析和优化,可能会进行一些压缩,但总体来说,存储空间取决于JSON数据的复杂程度。如果JSON数据比较简单,可能比TEXT更省空间;如果JSON数据非常复杂,可能比TEXT更占空间。此外,JSON类型有额外索引开销,用于路径查询优化。
BLOB BLOB是二进制数据,存储空间取决于实际的二进制数据大小。没有额外的开销。一般来说,存储同样大小的二进制数据,BLOB是最省空间的。但是,如果数据压缩后存储在BLOB中,需要考虑压缩算法的效率。BLOB分为TINYBLOBBLOBMEDIUMBLOBLONGBLOB,存储大小范围不同。
TEXT TEXT存储文本数据,存储空间取决于文本数据的长度和字符集。如果使用UTF-8字符集,一个汉字占3个字节。TEXT也分为TINYTEXTTEXTMEDIUMTEXTLONGTEXT,存储大小范围不同。如果存储的JSON数据是字符串格式,那么TEXT会直接存储字符串,不会进行解析和优化,因此存储空间可能比JSON更大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值