Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 索引监控与外键索引

Oracle 监控索引特性为我们提供了一个大致判断索引是否被使用的情形。之所以这么说,是因为在Oracle 10g 中收集统计信息时会导致索引被监控,此并非sql语句而产生。而在11g则不会出现类型的情形。其次对于存在子表存在外键的情形,对于主表进行操作时是否会导致索引被监控呢?下面描述的是这个话题。1、普通监控索引的情形--演示环境
SQL> select * from v$version where rownum<2;BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production--创建主表 
SQL> create table ptb(deptno number constraint ptb_pk primary key,dname varchar2(20));Table created.--从scott.dept帐户复制数据
SQL> insert into ptb select deptno,dname from dept;4 rows created.SQL> commit;Commit complete.--开启索引监控
SQL> alter index ptb_pk monitoring usage;--为主表收集统计信息
SQL> exec dbms_stats.gather_table_stats("SCOTT","PTB",cascade=>true);PL/SQL procedure successfully completedSQL> select * from v$object_usage where index_name="PTB_PK";INDEX_NAME                    TABLE_NAME                MON Use START_MONITORING    END_MONITORING
------------------------------ ------------------------- --- --- ------------------- -------------------
PTB_PK                        PTB                      YES NO  03/22/2013 17:15:37--注意上面的情形,收集统计信息时,索引被使用没有被监控到,在10g中则会被监控到
--下面开启autotrace
SQL> set autot trace exp;SQL> select * from ptb where deptno=10;Execution Plan
----------------------------------------------------------
Plan hash value: 3991869509--------------------------------------------------------------------------------------
| Id  | Operation                  | Name  | Rows  | Bytes | Cost (%CPU)| Time    |
--------------------------------------------------------------------------------------
|  0 | SELECT STATEMENT            |        |    1 |    12 |    1  (0)| 00:00:01 |
|  1 |  TABLE ACCESS BY INDEX ROWID| PTB    |    1 |    12 |    1  (0)| 00:00:01 |
|*  2 |  INDEX UNIQUE SCAN        | PTB_PK |    1 |      |    0  (0)| 00:00:01 |
--------------------------------------------------------------------------------------SQL> set autot off;
SQL> select * from v$object_usage where index_name="PTB_PK"; --索引使用被监控到INDEX_NAME                    TABLE_NAME                MON Use START_MONITORING    END_MONITORING
------------------------------ ------------------------- --- --- ------------------- -------------------
PTB_PK                        PTB                      YES YES 03/22/2013 17:15:37
  • 1
  • 2
  • 3
  • 下一页
Oracle 中 UPDATE nowait 的使用方法Android自定义弹窗进度条【附源码】相关资讯      Oracle索引  Oracle外键  Oracle索引监控  Oracle外键索引 
  • Oracle跳跃式索引扫描测试  (08月09日)
  • 关于Oracle位图索引内部浅论  (09/17/2015 19:23:59)
  • Oracle 索引的可见与隐藏(visible  (07/18/2015 09:41:42)
  • Oracle外键要建立索引的原理和实验  (05月28日)
  • Oracle组合索引与回表  (08/07/2015 18:11:53)
  • Oracle 索引基本原理  (04/12/2015 18:03:58)
本文评论 查看全部评论 (0)
表情: 姓名: 字数