问题描述
到目前为止,我还没有使用lob,我试图确保在设计代码和表结构时采用正确的方法。我正在设计的功能是针对flexfields。我计划将结果存储在BLOB列中的JSON文档中。我有几个设计问题,因为它与此相关。
1.当我将在应用程序的几个领域实现flexfields时,我想知道您是否认为在每个表上有一个flexfields列 (BLOB) 更好,其中flexfields是可用的,还是有一个表更好 (例如doc_id编号,flex BLOB),然后在我需要flexfields的每个表上有flex_doc_id (FK到我的BLOB表)?我已经看到有些人通常建议使用这样的单个LOB表,但是我不确定其背后的原因。
备选方案1
FLEX_DOCS
doc_id编号主键
弹性斑点
采购 _ 订单
...
Flex_doc_id号FK引用flex_docs.doc_id
销售订单
...
Flex_doc_id号FK引用flex_docs.doc_id
备选方案2
采购订单
...
弹性斑点
销售订单
...
弹性斑点
2.在开发我的代码中,我发现自己传递blob作为参数,并使用局部变量来处理blob。我的理解是,我真的只是传递指针,而不是实际的潜在大BLOB文件。对吗?我只是想确保我了解在编写处理blob的代码时是否需要考虑任何性能问题。特别是,我正在使用APEX前端 (APEX 20.1),当我尝试在后端编写大部分PL/SQL代码时,我正在研究如何最好地与我的flexfield API进行交互,尤其是与json文档有关。我的flexfield API在一个数据库包中,目前返回在屏幕上输入的值JSON doc BLOB到屏幕上的本地变量,然后我可以保存在任何表我正在使用 (再次,传递给包TAPI在后端)。所以我只是在寻找关于这种方法中是否有性能考虑的任何建议。
1.当我将在应用程序的几个领域实现flexfields时,我想知道您是否认为在每个表上有一个flexfields列 (BLOB) 更好,其中flexfields是可用的,还是有一个表更好 (例如doc_id编号,flex BLOB),然后在我需要flexfields的每个表上有flex_doc_id (FK到我的BLOB表)?我已经看到有些人通常建议使用这样的单个LOB表,但是我不确定其背后的原因。
备选方案1
FLEX_DOCS
doc_id编号主键
弹性斑点
采购 _ 订单
...
Flex_doc_id号FK引用flex_docs.doc_id
销售订单
...
Flex_doc_id号FK引用flex_docs.doc_id
备选方案2
采购订单
...
弹性斑点
销售订单
...
弹性斑点
2.在开发我的代码中,我发现自己传递blob作为参数,并使用局部变量来处理blob。我的理解是,我真的只是传递指针,而不是实际的潜在大BLOB文件。对吗?我只是想确保我了解在编写处理blob的代码时是否需要考虑任何性能问题。特别是,我正在使用APEX前端 (APEX 20.1),当我尝试在后端编写大部分PL/SQL代码时,我正在研究如何最好地与我的flexfield API进行交互,尤其是与json文档有关。我的flexfield API在一个数据库包中,目前返回在屏幕上输入的值JSON doc BLOB到屏幕上的本地变量,然后我可以保存在任何表我正在使用 (再次,传递给包TAPI在后端)。所以我只是在寻找关于这种方法中是否有性能考虑的任何建议。
专家解答
1) 在适当的表格中,我会有斑点。想想每当有人想要从 (例如) Dev进行测试或从生产测试的数据的子集或副本时,它就会造成混乱。你需要复制你的真实表加上 “blob表” (然后筛选你想要的位等)。该建议是LONG RAW的宿醉,管理起来很痛苦,因此我们将它们丢弃在单独的表中。从CLOB/BLOB,您现在可以将它们放在需要的位置。唯一真正的决定是基于使用/卷,因此你会得到内联还是离线存储。根据您在问题中所说的,内联是 * 可能 * 的方法。
2) 没错。除非我们需要对blob内容 “做” 一些事情,否则我们通常只是在处理定位器。我唯一要仔细研究的是BLOB/CLOB决定。不要误会我的意思-我们建议BLOB for JSON,因为它是最有效的,APEX应该可以。但是我们并不生活在真空中,您的企业可能会使用其他工具来查看数据 (Excel,报告工具等)。其中一些可能用clob而不是blob更好。只要确保你覆盖了所有的基地。
2) 没错。除非我们需要对blob内容 “做” 一些事情,否则我们通常只是在处理定位器。我唯一要仔细研究的是BLOB/CLOB决定。不要误会我的意思-我们建议BLOB for JSON,因为它是最有效的,APEX应该可以。但是我们并不生活在真空中,您的企业可能会使用其他工具来查看数据 (Excel,报告工具等)。其中一些可能用clob而不是blob更好。只要确保你覆盖了所有的基地。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




