问题描述
各位高手如题,表结构如图!~ 问题补充:那请问如果有大文本的内容的时候不用clob,那如何办?!tnt-scott 写道
解决方案
1.检索lob字段的时候,按需去取lob字段,如果你不用,则给它设成null,比如我要id='10'的lob字段,那么sql:select decode(id,'10',lob_col,null) from tb2.给lob字段建立单独的表空间,并设定把CACHE 设定成reads提高读取速度。代码:--创建表空间CREATE TABLESPACE MONTANA DATAFILE 'montana.tbs' SIZE 500M;--修改lob对象的表空间(STRINGDATA和OBJECTDATA是lob字段)ALTER TABLE tb MOVE LOB (STRINGDATA,OBJECTDATA) STORE AS(TABLESPACE MONTANACACHE READS )
解决方案二:
可以把lob字段作成单独一张表,当你查询的时候,直接到这表中取出你要的属性, 比直接取lob字段后台在解析快很多。
解决方案三:
因为lob是大数据对象,检索少量数据应该没有问题,如果你检索大量lob字段,效率会很慢,使用上面我提到的方法,效率能提高一些,但是治标不治本,尽量减少使用lob字段吧
解决方案四:
和索引没有关系,只要你检索lob字段,数据很多的时候就是慢
解决方案五:
嗯,有这个原因,只要操作lob字段了,效率会受到影响
解决方案六:
你这个表有多大数据量,查询的sql怎么写的,怀疑你没建索引
解决方案七:
引用那请问如果有大文本的内容的时候不用clob,那如何办?!大文本有多大~ 都超过varchar2的 4000了?一个办法是可以将3个大文本的字段分3张表,需要查询某个文本的时候去关联这张表。一般情况是不需要也不应该频繁去查这种大文本字段。
解决方案八:
这表设计的无敌了·三个大字段 全表查询不慢才怪 建议clob更改为varchar2·尽量避免select *