解答客户一个关于clob存储的疑问
来源:互联网 发布:vac反作弊系统知乎 编辑:程序博客网 时间:2024/05/14 10:50
《早期博客迁移博文》
这是前些日子时候一个客户向我咨询的一个问题,今天空出手来,整理出来与大家分享下。客户发过来的是两张截图,不过为保护客户数据信息安全,因此不便将原图贴出,不过我仍会以最清晰的方式将问题描述清楚。
用户USER_A下有两张表:DATA01_CONTENT和DATA02_CONTENT,并且这两张表均含有一个CLOB数据类型的字段。客户的疑问是表DATA01_CONTENT的大小是141GB,其lob 数据段为17GB;而DATA02_CONTENT表的大小为9GB,而LOB字段大小为31GB。可对比下面两个结果集:
OWNER SEGMENT_NAME USED_MB———– —————————— ———-USER_A SYS_LOB0000028519C00002$$ 17,626USER_A DATA01_CONTENT 141,194 OWNER SEGMENT_NAME USED_MB———- —————————— ———-USER_A SYS_LOB0000031872C00005$$ 31,833USER_A DATA02_CONTENT 9,022
由于之前很少关注LOB相关的内容,更没有深入研究过其原理,所以看一开始看到这种差别时,心里也是非常的奇怪,苦思冥想无解之后,求教了公司资深顾问勇哥,通过勇哥简单描述后,我略有所悟,于是也就查询了相关的文档,求到正解之后,也随即向客户解释了该问题。
我们在创建包含有LOB数据类型的表时,通常都会在STORE AS字句中定义一些关于LOB的参数,比如ENABLE/DISABLE STORAGE IN ROW、CHUNK、PCTVERSION等,这次呢,就着重关注下ENABLE/DISABLE STORAGE IN ROW。
该参数在之前的一篇文章做过一次介绍,请参考:Oracle LOB相关系列一。
如果在STORE AS字句中指定了ENABLE STORAGE IN ROW,那么Oracle将会采用IN ROW的方式存储LOB data,即如果插入的LOB data大小小于3964 byte,那么LOB数据将会存储于LOB列所属表(基表)的数据段中;如果插入的LOB数据大小大于3964 byte,那么LOB数据将会存储于LOB segment中。
而如果在STORE AS字句中指定了DISABLE STORAGE IN ROW,那么Oracle将会采用OUT OF ROW的方式存储LOB data。即不管插入的LOB data是多少byte,Oracle都将LOB data存储到相应的LOB Segment中。
通过查询DATA01_CONTENT和DATA02_CONTENT表中CLOB列存储数据的平均大小,发现DATA02_CONTENT的LOB列中平均每行存储的LOB data大都大于3964 byte(故表DATA02_CONTENT表本身较小而LOB SEGMENT就比较大);而DATA01_CONTENT的LOB列中平均每行存储的LOB data大都小于3964 byte(故表DATA01_CONTENT表本身较大而LOB SEGMENT较小)。
- 解答客户一个关于clob存储的疑问
- 解答客户一个关于clob存储的疑问
- 转自知乎某个问题,解答了我很久的疑问,关于网销拉客户白银贵金属期货
- 关于Storm的一些疑问解答
- 关于php_apc的一个疑问
- 关于php_apc的一个疑问
- 关于数据结构的一个疑问
- 一个关于PCA的疑问
- 关于Hiberante存储CLOB的一些心得体会
- 关于类的构造方法的疑问解答
- 关于QT 中 QDialog的几点疑问的解答
- 关于QT 中 QDialog的几点疑问的解答
- 关于QT 中 QDialog的几点疑问的解答
- 关于Access发布使用打包软件的一些疑问解答
- 关于Access发布使用打包软件的一些疑问解答
- 关于js中document.write一点疑问的解答
- 关于Postgres的oid使用疑问解答.md
- 关于git(SourceTree)的几个疑问及解答(待自己学会来解答)
- HANA Hello Wrold about Calculation View
- shell 脚本实现 限定输入内容
- C#操作XML小结
- C函数_filelength函数了解
- PDF Layout Anylysis(2)
- 解答客户一个关于clob存储的疑问
- 存过过程中操作image类型的字段
- linux C语言常见错误
- xlslib 在MFC程序中链接出错的解决方法及中文目录
- 原生态ajax——如何判断浏览器
- 使用js实现内容可互换式菜单
- LINUX命令详解:e2fsck
- APEX session保持登陆状态
- 利用栈实现括号匹配算法!