【问题标题】:Storing large json strings in Oracle Db在 Oracle Db 中存储大型 json 字符串
【发布时间】:2022-01-21 19:36:41
【问题描述】:

我们有一个在 Oracle Db 中存储大型 json 字符串(大约 10 kb +)的用例。哪种列数据类型最适合这种情况?一团还是一团?

【问题讨论】:

  • 引用 Oracle 文档:“Oracle 建议您使用 BLOB,而不是 CLOB 存储。”在此处找到对 JSON 数据使用 LOB 存储时的注意事项部分:docs.oracle.com/en/database/oracle/oracle-database/12.2/adjsn/… 但是,除此之外 - 如果您要在数据库中使用 JSON,为什么还要使用 Oracle 11g?我假设该标签没有附加在那里。 Oracle 在 12.1 中首次添加了 JSON 支持,在更新的版本(12.2、19、...)中提供了更多功能

标签: oracle oracle11g


【解决方案1】:

对于 Oracle 12.1 及更高版本,正如 Mathguy 所说,您应该遵循 Oracle 的建议并使用 BLOB 来存储 JSON 数据。 Oracle 的最新版本添加了许多 SQL/JSON 功能,无论数据类型如何,都可以无缝处理 JSON,并且 BLOB 将避免一些字符集问题。

对于 Oracle 11.2 及更低版本,您应该使用 CLOB 来存储 JSON 数据。由于您无法访问本机 JSON 功能,因此您可能需要依赖常规字符串处理。而且处理 CLOB 中的字符数据比处理 BLOB 中的字符数据要容易得多。 (但是,如果您使用像 PL/JSON 这样的库,那么 BLOB 可能仍然可以正常工作。)

【讨论】:

    猜你喜欢
    • 2019-03-16
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 2019-03-31
    • 2017-06-14
    • 1970-01-01
    相关资源
    最近更新 更多