研究解决CLOB字段IO问题的方法
2012-08-28 10:09
591 查看
目前已经采取的做法,缓存该表
网上查到的做法
一、对于普通表的cache方法:
SQL> conn test/test 已连接。
SQL> alter table t1 storage (buffer_pool keep) cache;
表已更改。
查询普通表是否已经被cache:
SQL> select table_name,cache,buffer_pool from user_TABLES;
TABLE_NAME CACHE BUFFER_
------------------------------ --------
T1 Y KEEP
二、对于普通LOB类型的segment的cache方法
SQL> desc t2
名称 是否为空? 类型
----------------------------------------
ID NUMBER
C2 CLOB
SQL> alter table t2 modify lob(c2) (storage (buffer_pool keep) cache);
表已更改。
三、对基于CLOB类型的对象的cache方法
SQL> desc lob1
名称 是否为空? 类型
----------------------------------------- ID NUMBER
C1 XMLTYPE
SQL> alter table lob1 modify lob(c1.xmldata) (storage (buffer_pool keep) cache);表已更改。
那么,怎么测试lob segment是否被cache了呢?
------------------------------------------------------------------------------------------
1.检索lob字段的时候,按需去取lob字段,如果你不用,则给它设成null,比如我要id='10'的lob字段,那么sql:
Sql代码
select decode(id,'10',lob_col,null) from tb
2.给lob字段建立单独的表空间,并设定把CACHE 设定成reads提高读取速度。
代码:
Sql代码
--创建表空间
CREATE TABLESPACE MONTANA DATAFILE 'montana.tbs' SIZE 500M;
--修改lob对象的表空间(STRINGDATA和OBJECTDATA是lob字段)
ALTER TABLE tb MOVE LOB (STRINGDATA,OBJECTDATA) STORE AS
(
TABLESPACE MONTANA
CACHE READS
)
网上查到的做法
一、对于普通表的cache方法:
SQL> conn test/test 已连接。
SQL> alter table t1 storage (buffer_pool keep) cache;
表已更改。
查询普通表是否已经被cache:
SQL> select table_name,cache,buffer_pool from user_TABLES;
TABLE_NAME CACHE BUFFER_
------------------------------ --------
T1 Y KEEP
二、对于普通LOB类型的segment的cache方法
SQL> desc t2
名称 是否为空? 类型
----------------------------------------
ID NUMBER
C2 CLOB
SQL> alter table t2 modify lob(c2) (storage (buffer_pool keep) cache);
表已更改。
三、对基于CLOB类型的对象的cache方法
SQL> desc lob1
名称 是否为空? 类型
----------------------------------------- ID NUMBER
C1 XMLTYPE
SQL> alter table lob1 modify lob(c1.xmldata) (storage (buffer_pool keep) cache);表已更改。
那么,怎么测试lob segment是否被cache了呢?
------------------------------------------------------------------------------------------
1.检索lob字段的时候,按需去取lob字段,如果你不用,则给它设成null,比如我要id='10'的lob字段,那么sql:
Sql代码
select decode(id,'10',lob_col,null) from tb
2.给lob字段建立单独的表空间,并设定把CACHE 设定成reads提高读取速度。
代码:
Sql代码
--创建表空间
CREATE TABLESPACE MONTANA DATAFILE 'montana.tbs' SIZE 500M;
--修改lob对象的表空间(STRINGDATA和OBJECTDATA是lob字段)
ALTER TABLE tb MOVE LOB (STRINGDATA,OBJECTDATA) STORE AS
(
TABLESPACE MONTANA
CACHE READS
)
相关文章推荐
- 关于oracle中clob字段查询慢的问题及解决方法
- EXP-00003问题解决(解决导出表中有CLOB或BLOB字段的情况)
- GridView动态生成字段常见问题及解决方法
- 关于hibernate查询,数据库字段为clob的错误原因及解决方法记录
- Python字符串的encode与decode研究心得 乱码问题解决方法
- IO 流读取文件时候出现乱码 文件编码格式问题 怎么转换解决方法
- Python字符串的encode与decode研究心得乱码问题解决方法
- Python字符串的encode与decode研究心得乱码问题解决方法
- Python字符串的encode与decode研究心得乱码问题解决方法
- 完美解决json循环问题(使用javassist增强):Spring MVC中使用jackson的MixInAnnotations方法动态过滤JSON字段
- C++库研究笔记——使用函数模板还是类模板?+ 一个类型重复问题的两种解决方法
- Python字符串的encode与decode研究心得乱码问题解决方法
- 关于删除数据库中含有自增长字段的表,清空后,自增长字段重新从1开始的问题解决方法。
- 基于PLSQL的数据库备份方法及如何解决导出clob和blob类型数据报错的问题
- Python字符串的encode与decode研究心得乱码问题解决方法
- Python字符串的encode与decode研究心得乱码问题解决方法
- oracle翻页,排序字段重复,翻页结果重复 问题的解决方法
- Python字符串的encode与decode研究心得乱码问题解决方法
- discuz x2 个人资料项排序问题解决方法、添加自定义字段、修改栏目名称和介绍
- 解决比较Oracle中CLOB字段问题--转自混世者的专栏