oracle中blob存储表格word,关于数据库设计:将表数据作为Blob存储在不同表的列中(Oracle)...

要求:我们大约有500个表,每个表中约有1万行是感兴趣的。我们希望将此数据存储为表中的Blob。导出到文件时,所有数据均为250 MB。现在,一个选择是将这个250 MB的文件存储在blob中(Oracle允许4 GB)或将每个表数据作为blob存储在blob列中,即每个表将有一行,并且blob列将具有该表数据。

现在关于性能,哪种选择在性能方面更好。此外,还需要获取此数据并将其插入数据库。

基本上,这将交付给客户,我们的实用程序将从blob中读取数据并将其插入数据库中。

问题:

1)如何将表数据作为Blob插入Blob列

2)如何从该blob列读取信息,然后准备插入语句。

3)压缩包含blob数据的表有什么好处?如果是,则阅读如何解压缩。

4)这种方法是否也适用于MSSQL和DB2。

设计具有blob的表时还有哪些其他注意事项?

请建议

您的实际业务需求是什么? 为什么必须将表数据存储在一系列BLOB中,而不是现在如何实际存储它们? 我从未见过像您所描述的那样想要实现的设计。

为什么要将表存储到BLOB中?对于存档或传输,您可以使用exp或导出表。您可以将这些文件压缩并传输或存储为BLOB到另一个Oracle数据库中。

最高据我所知,直到Oracle版本9为止,LOB的大小为4 GB。如今,限制为8 TB到128 TB,具体取决于您的DB块大小。

我的印象是,您想从结构化内容转向非结构化内容。

希望您知道您要权衡的结果,但是阅读您的问题时我没有那种印象。

使用BLOB会丢失值之间的关系/约束。

读取一个数据块可能会更快,但是当您需要编写较小的更改时,对于大的BLOB,可能需要编写更大的"块"。

要在数据库中插入BLOB,可以使用任何可用的API(OCI,JDBC。如果仅在服务器端访问,则甚至可以使用pl / sql)。

对于压缩,可以使用BLOB选项。此外,您可以使用某些库进行DIY(如果您需要考虑其他RDBMS类型)。

@Wernfried,igr的主要目的是将这组数据放在单独的表中,因为这仅在不使用的情况下使用。 将数据保存在同一表中会影响所有用户的性能,因为从一个版本升级到另一个版本时,该数据仅使用一次。 如果我们将数据发送到同一表中,它将被闲置在该表中。我们也无法删除它,因为将来可能会需要删除它。 不建议在OLTP环境中将每个表的行加倍,因此,其思想是保持单独的压缩Blob格式,仅在需要时使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值