And*_*ndy 5 oracle oracle-11g-r2 blob
我有一个数据库,其中有几个 BLOB 列分散在多个表中。因为我是一名开发人员并且正在考虑使应用程序代码编写更容易,所以我想将这些列转换为 NUMBER FK 列,这些列只引用一个专用于 BLOB 的表(即一个 PK ID 列和一个 BLOB 列)。这将允许我们的 ORM 库使用更少的代码更轻松地对对象进行延迟初始化。
这样做对性能或数据组织有何影响?由于这些 BLOB,数据库的大小非常大。
通常,如果将 BLOB 列移动到另一个表,并且新的 BLOB 列具有相同的属性(例如“DISABLE STORAGE IN ROW”,请参阅我的其他答案),性能不会有太大变化。据我了解,Oracle 在内部如何存储 LOB/BLOB/CLOB 列与您无关,因为您的问题更多涉及用户可见的数据模型。
使用外键的一个明显的性能影响是它会稍微减慢访问速度。
但是将多个 BLOB 列放入单个列中在设计方面是一个非常糟糕的主意。虽然我不了解 Hibernate ORM,但对我来说,你的问题听起来是“破坏数据库的设计来解决 Hibernate 的问题是个好主意吗?”。嗯,这不是一个好主意。
如果您需要导出或导入仅从一个表引用的 blob,该怎么办?
如果 Blob 位于单个表中,您将如何对其进行分区?(如果您的数据库“很大”,您就需要为此做好计划!)
如果之前并发的 BLOB 更新/插入现在因为只有一个 BLOB 列而被序列化,该怎么办?
归档时间: |
|
查看次数: |
1429 次 |
最近记录: |