当前位置: 首页 > 知识库问答 >
问题:

Oracle LOB未内联存储

任长卿
2023-03-14

设置

我有一个oracle表,它有两个属性和一个CLOB数据类型。下面的表是我用两种方法创建的,每种方法都应该给出相同的行为。

CREATE TABLE DEMO(
a number (10, 2),
data CLOB
)

CREATE TABLE DEMO(
a number (10, 2),
data CLOB
) LOB (data) Stored AS (STORAGE IN ROW ENABLED)

情景

    null

问题

LOB表浪费了大量的磁盘空间,因为块大小是8KB,每个块的数据总是在3-4K字符左右,在某些情况下甚至超过这个字符。因此,每行必须浪费4KB的空间,在20兆行以外的情况下,它在50兆行的GBs中运行

共有1个答案

宓昂雄
2023-03-14

这可以解释上述行为…

“CLOB和NCLOB数据类型在数据库中存储高达4GB的字符数据。CLOBs存储数据库字符集数据,NCLOBs存储Unicode国家字符集数据。对于宽度可变的数据库字符集,CLOB值使用宽度固定的两字节Unicode字符集存储在数据库中。Oracle将存储的Unicode值转换为在客户端或服务器上请求的字符集,该字符集可以是固定宽度或可变宽度。当使用变宽字符集将数据插入CLOB列时,Oracle会在将数据存储到数据库中之前将其转换为Unicode。“

http://docs.oracle.com/cd/b10500_01/server.920/a96524/c13datyp.htm#3234

 类似资料:
  • 我正在使用 Prometheus 向我的 Go 程序添加指标调用。为了便于维护,我决定将所有 Prometheus 调用分离到一个单独的源文件中的简单函数调用(以防我想移动到不同的指标包)。但更重要的是,它还使编写代码的速度更快,因为 IDE 将提示标签名称作为函数调用的参数。例如像这样: 其中一些函数经常在低级循环中被调用,所以我不希望这些调用使代码太慢。我的假设是这样一行简单的代码很容易内联。

  • 问题内容: 我不知道如何从CKEditor实例中获取已编辑的数据并将其发布到url。 我在看这样的东西: http://nightly.ckeditor.com/3995/samples/inlineall.html 而且我不知道如何保存更改。我可以将要编辑的新数据连同要编辑的元素的ID一起发布到PHP吗? 与此类似: 我希望我可以做这样的事情: 但是我似乎在任何地方都找不到任何东西。 有没有人知

  • 通过这种方式,你可以把所有的页面都放到 DOM 中,不需要在通过Ajax或者动态创建来加载他们。 启用内联页面 默认情况下,内联页面功能是禁用的。如果你想启用,只需要给视图传入一个 domCache: true 参数即可: var mainView = myApp.addView('.view-main', { domCache: true //enable inline pages })

  • 问题内容: 我有一个非常简单的脚本,该脚本在打印和报告的同时分配内存,这是对大型对象的唯一引用。运行脚本后,heapy告诉我应该不使用太多内存,而pidstat告诉我相反: 输出如下: 如何确定该内存已返回操作系统? 问题答案: 何时可以在进程内重新使用内存与何时将内存释放到OS之间可能会有差异。特别是,标准的Python解释器(CPython)维护其自己的池和用于特定类型对象的空闲列表。它将在这

  • 我有一个问题,我的GPU内存是没有释放后关闭在Python中的tenstorflow会话。这三行足以导致问题: 在第三行之后,内存不会被释放。我在很多论坛上走来走去,尝试了各种各样的建议,但都没有效果。有关详细信息,请参见下面我的评论: https://github.com/tensorflow/tensorflow/issues/19731 在这里,我已经记录了我设法杀死进程并释放内存的方法,但

  • 问题内容: VS 哪种被认为是 正确的 (语法上)且性能最高的方法,为什么? 后一个示例中的语法对我来说似乎更合乎逻辑,但我的假设是JOIN会更快。 我看过查询计划,还无法从中解密任何内容。 查询计划1 查询计划2 问题答案: 两种语法有不同的用途。假设使用Join语法,则需要StockToCategory和Category表中的某些内容。如果每个类别的StockToCategory表中有多个条目