json - 如何在不截断数据的情况下将 CLOB 列迁移到 DB2 中的 (json) BLOB?
问题描述
我有一个 DB2 11 数据库,其中有一个大表,其中 JSON 数据存储在 CLOB 列中。鉴于我想使用 JSON_VAL 函数对其执行查询,我总是需要先使用 JSON2BSON 对其进行转换,我认为这是一个很大的开销。我想将数据移动到另一个具有完全相同结构的表中,除了我想用 BLOB 替换的 CLOB 列以将 JSON 立即存储在 BLOB 中,希望这会加快我的查询速度。
我的方法是写一个
insert into newtable (ID, BLOBDATA) select ID, SYSTOOLS.JSON2BSON(CLOBDATA) from oldtable;
这样做之后,我意识到长 json 对象被截断了。我已经对此进行了谷歌搜索,并了解到选择截断大对象。
我正在联系这里,看看是否有任何简单的方法可以让我进行这项练习,而无需编写程序来读取和写回所有数据。(当我使用 DB2 csv 导出功能时,我自己也因类似的截断而被烧毁。)
谢谢。
解决方案
从 Db2 11.1.4.4 开始,有基于 ISO 技术文件的新 JSON 函数。我建议使用它们。它们是未来的战略功能。
您可以使用JSON_VALUE执行您计划使用 JSON_VAL 执行的等效操作。
推荐阅读
- javascript - 不用搜索谷歌如何学习 Matplotlib ——
- webpack - Webpack ClosurePlugin - 闭包编译器中的错误:java.nio.file.InvalidPathException:非法字符 <:>
- php - 如果存在一行,则通过 PHP 站点插入到表中
- asp.net - ASP.NET MVC 应用程序在 IIS 中出现 404 错误,但相同代码库的不同分支可以工作,我可以在 Visual Studio 中运行它
- vb.net - 显示文件扩展名或通用字符串中包含的无效字符
- c# - '指定的可执行文件不是此操作系统平台的有效应用程序
- pine-script - 是否有从更高时间范围覆盖数据的功能?(PineScript)
- c++ - 为什么我的 N-Queens 程序挂在填充 = 3、行 = 4 和列 = 7/8?
- excel - 打印工作表之间没有空白的excel工作簿
- php - 将逗号分隔的数组值显示到复选框php中