快速业务通道

ORACLE学习笔记--性能优化

作者 凌众技术 来源 互联网 浏览 发布时间 2012-01-15
化器认为是合适的。
  <2> 索引中的前导列的唯一值的数量能满足一定的条件(如重复值很多)。
  <3> 优化器要知道前导列的值分布(通过分析/统计表得到)。
  <4> 合适的SQL语句
  等。


11.怎么样创建使用虚拟索引
  可以使用nosegment选项,如
  create index virtual_index_name on table_name(col_name) nosegment;

  如果在哪个session需要测试虚拟索引,可以利用隐含参数来处理
  alter session set "_use_nosegment_indexes" = true;

  就可以利用explain plan for select ……来看虚拟索引的效果,利用@$ORACLE_HOME/rdbms/admin/utlxpls查看执行计划,最后,根据需要,我们可以删除虚拟索引,如普通索引一样
  drop index virtual_index_name;

  注意:虚拟索引并不是物理存在的,所以虚拟索引并不等同于物理索引,不要用自动跟踪去测试虚拟索引,因为那是实际执行的效果,是用不到虚拟索引的。

12.怎样监控无用的索引
  Oracle 9i以上,可以监控索引的使用情况,如果一段时间内没有使用的索引,一般就是无用的索引
  语法为:
  开始监控:alter index index_name monitoring usage;
  检查使用状态:select * from v$object_usage;
  停止监控:alter index index_name nomonitoring usage;

  当然,如果想监控整个用户下的索引,可以采用如下的脚本:
  set heading off
  set echo off
  set feedback off
  set pages 10000
  spool start_index_monitor.sql
  SELECT 'alter index '||owner||'.'||index_name||' monitoring usage;'
  FROM dba_indexes
  WHERE owner = USER; 
  spool off 
  set heading on
  set echo on
  set feedback on
  ------------------------------------------------
  set heading off
  set echo off
  set feedback off
  set pages 10000
  spool stop_index_monitor.sql
  SELECT 'alter index '||owner||'.'||index_name||' nomonitoring usage;'
  FROM dba_indexes
  WHERE owner = USER; 
  spool off 
  set heading on
  set echo on
  set feedback on

13.怎么样能固定我的执行计划
  可以使用OUTLINE来固定SQL语句的执行计划,用如下语句可以创建一个OUTLINE
  C

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号