专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

Oracle 23ai 原生JSON类型使用有多简单

ins518 2024-11-04 13:53:47 技术文章 10 ℃ 0 评论

JSON 原生类型实际上 21c 就引入了,但 23ai 作为一个长期支持版本(LTS),使用会更广,对更多客户来说,也可能会是首次使用 JSON 原生类型的版本。

在数据库原生JSON类型出现之前,JSON灵活字段类型往往以字符串或LOB对象存储在数据库中,读取的时候,则通常是生将字符串读取出来,然后在程序代码中将其解析成JSON对象,最后再取自己想要的字段值。

数据库原生JSON类型出现之后,存储和访问JSON数据变得非常简单高效。

create table kbot_oracle_embeddings (
  	id varchar2(256) NOT NULL PRIMARY KEY,
  	collection_name varchar2(256),
    embedding vector(*, FLOAT32),
       	document CLOB,
        metadata JSON  
 );

上面的表中直接定义了一个 JSON 类型字段。

往表中插入一些记录如下:

直接在SQL中查询JSON字段内容:

select t.metadata.source from kbot_oracle_embeddings t where collection_name like '%hysun%';

直接使用 <表别名>.<json字段名>.<属性名> 就获取了JSON对象中的属性值,非常直观、方便、简单。另外,JSON字段还根据类型特点作了特殊优化,存取效率高,还可以在JSON字段上建立索引,更一步提升检索效率。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表