什么是为Oracle列(尤其是CLOB)的NULL值分配的空间

时间:2012-05-08 14:48:53

标签: oracle database-design schema

我们有一个报告(简单文本)存储在Oracle中,平均情况将小于4K但有些情况超过了。所以一个选择是使用CLOB。 它仅用于记录目的,不用于查询或更新。只插入一次并退休几次。

空间和整体架构(其他表格)的表现是主要关注点。

我读到了CLOB存储分配格式。

我们正在考虑使用2列,msgV varchar2(4000)和msgC CLOB。当文本超过4k时,我们存储到CLOB中,否则通常varchar2和CLOB保持为NULL。

所以我的问题是,

  1. 这个方案更好w.r.t以上性能考虑还是仅仅使用CLOB? (除了它需要更多的编码工作,保持这种情况无处不在)

  2. NULL和空CLOB(或任何数据类型)占用的空间是多少?

1 个答案:

答案 0 :(得分:1)

使用clob。如果clob中的数据小于4000字节,它实际上将以内联方式存储。请参阅以下链接中有关LOB与LONG相比的部分。

Oracle Lob