mysql的JSON格式各版本差异特性

本文介绍了MySQL8.0中JSON数据类型的优点,如自动验证格式、快速访问、内存效率与大小限制。此外,讨论了InnoDB引擎对非空默认值的改变以及从MySQL8.0.17开始的多值索引支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL :: MySQL 8.0 Reference Manual :: 13.5 The JSON Data Type

相对于传统字符串字段存储json格式的好处:

1,自动校验json格式,无效的格式报错。

2,mysql会将json文本数据以内部格式存储,使用key或者index访问时不需要加载全文,访问更快。

json格式占用内存与LONGBLOB或LONGTEXT相似,但是也有一些额外的花销用来存储二进制编码后的数据(包括元数据、字典(查询json中的数据))。

json格式数据大小限制不能大于 max_allowed_packet 。

(

innoDB DYNAMIC Row Format

Fixed-length fields greater than or equal to 768 bytes are encoded as variable-length fields. For example, a CHAR(255) column can exceed 768 bytes if the maximum byte length of the character set is greater than 3, as it is with utf8mb4.

The DYNAMIC row format supports index key prefixes up to 3072 bytes.

)

Prior to MySQL 8.0.13, a JSON column cannot have a non-NULL default value.

In MySQL 8.0.17 and later, the InnoDB storage engine supports multi-valued indexes on JSON arrays. See Multi-Valued Indexes.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值