WEB开发网
开发学院数据库Oracle 如何更好的利用Oracle全文检索 阅读

如何更好的利用Oracle全文检索

 2009-03-20 13:10:33 来源:WEB开发网   
核心提示: 同步和优化方法: 可以使用Oracle提供的ctx_ddl包同步和优化索引一.对于CTXCAT类型的索引来说, 当对基表进行DML操作的时候,如何更好的利用Oracle全文检索(5),Oracle自动维护索引,对文档的改变马上反映到索引中,删除操作的时候,垃圾处理是很必要的,CTXCAT是

同步和优化方法: 可以使用Oracle提供的ctx_ddl包同步和优化索引

一.  对于CTXCAT类型的索引来说, 当对基表进行DML操作的时候,Oracle自动维护索引。对文档的改变马上反映到索引中。CTXCAT是事务形的索引。

索引的同步

在对基表插入,修改,删除之后同步索引。推荐使用sync同步索引。语法:

ctx_ddl.sync_index(
idx_name IN VARCHAR2 DEFAULT NULL
memory IN VARCHAR2 DEFAULT NULL,
part_name IN VARCHAR2 DEFAULT NULL
parallel_degree IN NUMBER DEFAULT 1); 
idx_name   索引名称
memory    指定同步索引需要的内存。默认是系统参数DEFAULT_INDEX_MEMORY 。

指定一个大的内存时候可以加快索引效率和查询速度,且索引有较少的碎片

part_name 同步哪个分区索引。

parallel_degree 并行同步索引。设置并行度。

例如:

同步索引myindex:Exec   ctx_ddl.sync_index ('myindex');

实施建议:建议通过oracle的job对索引进行同步

索引的优化

经常的索引同步将会导致你的CONTEXT索引产生碎片。索引碎片严重的影响了查询的反应速度。你可以定期优化索引来减少碎片,减少索引大小,提高查询效率。

当文本从表中删除的时候,Oracle Text标记删除的文档,但是并不马上修改索引。因此,就的文档信息占据了不必要的空间,导致了查询额外的开销。你必须以FULL模式优化索引,从索引中删除无效的旧的信息。这个过程叫做垃圾处理。当你经常的对表文本数据进行更新,删除操作的时候,垃圾处理是很必要的。

  exec   ctx_ddl.optimize_index ('myidx', 'full');

实施建议:每天在系统空闲的时候对全文索引进行相应的优化,以提高检索的效率

上一页  1 2 3 4 5 

Tags:如何 更好 利用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接