li
  当前位置:主页 > 性能优化 > 文章内容
li
全文索引性能分析(一)
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:6  

一个表建立了全文索引后,会不会导致性能的下降,一直是我比较关心的问题。这里对这个问题进行简单的讨论。


一个表建立了全文索引,是希望通过全文索引来提高表的查询性能,使得原本只能通过LINK ‘%’的查询,变得可以通过全文索引的扫描而快速得到查询结果。

使用全文索引并不是简单的增加了一个索引那么简单。首先,全文索引导致磁盘资源的大量占用。全文索引本身就是一个利用磁盘空间换取性能的方法。而且,全文索引的索引同步,索引定期维护,以及表本身的维护操作使得这个表的管理成本大大的增加。最重要的一点,使用全文索引并不是对应用透明的。如果要想利用全文索引,必须修改查询语句。原有的查询语句是不可能利用全文索引的,需要改成全文索引规定的语法。

如果付出了这么大的代价,而得不到性能的提示,甚至导致性能有所下降,未免得不偿失。好在全文索引的使用,必须通过指定操作,比如CONTAINSCATSEARCHMARCH等,这就是说,全文索引不会影响到其他的SQL语句。

那么剩下的问题就是全文索引能否解决好它本身的问题了。首先考虑的一个问题就是,如果查询一个常用字会不会导致全文索引返回大量的记录,从而导致性能低下。这个问题可以通过添加停用词来解决。但是停用词本身也有问题,查询英文的停用词还好说,如果仅查询中文的停用词,Oracle直接报错。这就又需要开发的配合,如异常捕获等。

如果不使用停用词的话,那么Oracle能否保证在恰当的时候使用全文索引就是问题的关键。

还有一个问题,Oracle一般优先考虑域索引,对于能通过其他索引快速得到结果的情况,Oracle是否能作出正确的判断?

上面是仅包含一个全文索引的情况,如果一张表中建立了两个全文索引,那么Oracle能否正确的选择索引吗?

还有,如果两张表进行关联,而又对两张表的两个字段都进行了全文索引的查询,那么是否会影响查询的效率。

此外,CTXCAT索引包含一个索引集的概念,可以向索引集中添加其他字段,来提高全文索引处理复合查询的性能。不过,这种方法一是要消耗大量的磁盘空间,二是不能替代添加字段本身的索引,那么CTXCAT索引和其他索引的配合使用与使用CTXCAT索引集的性能差别有多大呢,这也是值得关注的地方。

这篇文章对全文索引可能存在的性能问题进行了简单的分析,下面打算通过几篇系列文章对上面的一些问题进行详细的描述。




  上一篇: 将任意表数据导出为CSV文件的过程   下一篇: 备份之裸设备备份——unix系统
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·将任意表数据导出为CSV文件的过程
·Timesten系统剖析——Timesten体...
·安装ORACLE ENTERPRISE LINUX 5
·KEEP池的CACHE特点(一)
·LOG也是关键字
·网络问题或客户端异常可能导致数...
·物化视图复制快速刷新的限制(一...
·传输表空间
·Oracle缓存连接——Timesten体系...
·Oracle ACE
·备份之裸设备备份——unix系统
·EFFECTIVE ORACLE BY DESIGN总结
·ORA-600(999)错误(一)
·PLSQL计算质数
·Oracle9i使用闪回操作
·MERGE语法
·INSERT ALL和INSERT FIRST语法
·Oracle的在线重定义表功能(二)
·树状查询新特性(二)
·树状查询新特性
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接