Multi-model(多模)数据库,指的是在一个数据库中,可以同时支持多种存储引擎或存储类型,为应用提供各种数据服务,如下图所示:
普通表转换成JSON格式
开发人员都偏爱使用JSON数据格式交换进行交换,在Oracle数据库中有个函数JSON_OBJECT可以很容易做到。如下图我把普遍表EMP转换成JSON格式:
通过json_object函数进行转换如下图所示:
你可能会想,如果字段多怎么办,每个都要写吗?不需要,在Oracle 19c中,你可以使用*号替代,如下图所示:
你是不是觉得这样不太容易看懂,没问题,使用JSON_SERIALIZE函数来美化一下,如下图所示:
是不是很炫,但要注意,此函数只在Oracle 19c提供。
JSON的数据类型
在Oracle数据库中,JSON存储的数据类型有三种,VARCHAR2,CLOB,BLOB。其中VARCHAR2性能最好,但大小限制在32k,CLOB和BLOB不存在限制。

如果在Oracle 12c中,你可以使用UTL_RAW.CAST_TO_VARCHAR2 (data)进行转换。
JSON_MERGEPATCH函数简化更新
在Oracle 19c以前,如果要更新JSON文档的某部分,你必须检索JSON文档,更新内容后要把整个文档替换为修改后的文档。现在,可以通过JSON_MERGEPATCH大大简化此过程。
如下图所示,统一更新SAL=1500:
为JSON文件增加新的元素:
物化视图增强JSON_TABLE性能
在19c中,可以创建包含JSON_TABLE的物化视图,增强了查询重写的功能。当JSON文档中包含数组时,特别有用,物化视图可以为JSON数组提供快速访问性能。
查看物化视图:
其他
扫描下方QR Code即刻预约ADW演示
编辑:萧宇
最后修改时间:2020-01-08 09:13:44
文章转载自甲骨文云技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。