【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.4.2-ce
【问题描述】有一些json的相关问题。
- json类型的内容受到1.5M限制么?
- json的内部的字段个数有限制么?同一层的字段个是有限制么?
- json深度有限制么?
- 有一个类似kv的使用场景,只进行set和get,只是值比较大1.5M-16M之间,这个可以使用长对象类型么?
【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.4.2-ce
【问题描述】有一些json的相关问题。
根据您提供的信息,您正在使用的OceanBase版本为4.4.2-ce,并且您的问题涉及JSON数据类型的多个使用限制。以下是针对您提出的问题的详细回答:
JSON数据长度限制
LONGTEXT的长度。在MySQL模式下,LONGTEXT的最大长度是4GB。因此,JSON类型的内容不会受到1.5M的限制。但是,考虑到实际应用中存储和处理大对象的性能因素,建议尽量避免存储过大的JSON数据。JSON内部字段个数限制
JSON深度限制
json_document_max_depth。从文档片段7可以看出,默认值为100,取值范围在[100, 1024]之间。这意味着默认情况下,每个JSON对象或数组的最大深度为99层。可以通过执行ALTER SYSTEM SET json_document_max_depth = X;来调整此参数,其中X为您希望设置的具体数值。配置示例如下:
obclient> ALTER SYSTEM SET json_document_max_depth=100;
对于大对象(LOB)类型的适用性
综上所述,虽然JSON类型非常适合存储结构化数据,但对于特别大的数据对象,使用BLOB/CLOB或许更为合适。请根据具体业务场景选择最适合的数据类型。如果您还有其他方面的疑问或者需要进一步的帮助,请随时告知!
参考文档:
详情请参考:
感谢分享
学习下