Oracle CLOB用于存储JSON的替代方法

时间:2014-11-10 10:04:24

标签: json oracle clob varchar2

在Oracle 10g中存储除CLOB以外的大量数据还有其他选择吗? 我需要在此字段中存储的JSON文件的最大大小为150Kb。我可以将VARCHAR2NTEXT用于此目的吗?如果有必要避免使用CLOB,则JSON文件的内容也可以作为文本复制。 提前感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

在10g中,VARCHAR2NVARCHAR2列的最大大小仅为4kb。在12c下,如果您将MAX_STRING_SIZE服务器属性设置为EXTENDED,则此限制为can be increased to 32kb,但仍远不及150kb。

您需要使用CLOB,或者将150kb分解为4kb块。

分解数据的一个选项是将数据存储在一个表中,其中每行代表文件的一行:

file_id     line_id     line_data
---------------------------------
1           1           this
1           2           is
1           3           where
1           4           your
1           5           data
1           6           lives

或者,如果您可以升级到12c,则可以利用native JSON support