Oracle全文检索方面的研究(全9)

来源:未知 责任编辑:责任编辑 发表时间:2013-12-22 14:57 点击:

3.10常用的脚本

3.10.1.删除preference:

begin

ctx_ddl.drop_preference(my_lexer);

end;

 

3.10.2.索引重建:

ALTER INDEX newsindex REBUILD PARAMETERS(replace lexer my_lexer);

 

3.10.3 同步索引

begin

ctx_ddl.sync_index(myindex, 2M);

end;

或通过后台设置同步脚本:

$ORACLE_HOME/ctx/sample/script/drjobdml.sql --后台同步脚本(9i 中有,10g 不知道放哪儿了,文档有问题)

SQL> @drjobdml myindex 360 --表示以周期360 分钟同步索引myindex

或通过创建索引加参数实现

--表示每小时同步一次,内存16m

CREATE INDEX IND_m_high ON my_high(DOCS) INDEXTYPE IS CTXSYS.CONTEXT

parameters (sync (EVERY "TRUNC(SYSDATE)+ 1/24") memory 16m ) parallel 2 online;

(确认这个时间间隔内索引同步能完成,否则,sync job 将处于挂起状态)

--还可以是

sync (manual) --手工同步,默认

sync (on commit) --dml 后立即同步

--通过job 定义同步

declare

job number;

begin

dbms_job.submit(job,

ctx_ddl.sync_index(ind_m_high);, --索引名

interval => SYSDATE+1/1440); --1 分钟一次

commit;

dbms_output.put_line(job || job || has been submitted.);

end;

 

 

3.10.4.索引碎片:

刚开始建立索引后,DOG 可能是如下的条目

DOG DOC1 DOC3 DOC5

新的文档增加到表后,新行会同步到索引中去,假设新文档中Doc7 中的DOG 被同步到索引中去,DOG

可能变成如下条目

DOG DOC1 DOC3 DOC5

DOG DOC7

随后的DML 操作可能变成:

DOG DOC1 DOC3 DOC5

DOG DOC7

DOG DOC9

DOG DOC11

这就产生了碎片,需要进行索引的优化

查看索引碎片

create table output (result CLOB);

declare

x clob := null;

begin

ctx_report.index_stats(idx_auction, x);

insert into output values (x);

commit;

dbms_lob.freetemporary(x);

end;

select * from output

 

3.10.5索引优化:

快速fast 优化和全部full 优化的区别是,快速优化不会删除没用的、过期的数据,而full 会删除老的数据(deleted rows)

--快速优化

begin

ctx_ddl.optimize_index(myidx,FAST);

end;

--全部优化

begin

ctx_ddl.optimize_index(myidx,FULL);

end;

--对单个记号进行优化,默认是full 模式

begin

ctx_ddl.optimize_index(myidx,token, TOKEN=>Oracle);

end;

 

3.10.6.Online 参数限制:

at the very beginning or very end of this process, dml might fail.

online is supported for context indexes only.

online cannot be used with parallel.

--online 索引的时候后面必须要加parameters,否则会失败

alter index IND_m_high rebuild online parameters (sync memory 16m )

 

3.10.7.更改索引的属性,但不进行索引重建

Replaces the existing preference class settings, including SYNC parameters, of the index with

the settings from new_preference. Only index preferences and attributes are replaced. The index is

not rebuilt.

ALTER INDEX myidx REBUILD PARAMETERS(replace metadata transactional);

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Table函数使用简介
  • Oracle数据库Constraint约束的常用操作及异常处理
  • Bulk Collect性能分析(zz)
  • export/import的使用
  • OCP043第十五讲 Database Security
  • ORACLE10gr2数据导入MySQL方案
  • oracle 让sys用户可以使用isqlplus
  • 在oracle数据库下使用iSQL*Plus DBA访问数据库
  • Oracle行列转换小结
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1