ITPub博客

首页 > 数据库 > Oracle > Oracle数据库监控Index的使用情况

Oracle数据库监控Index的使用情况

原创 Oracle 作者:yanghz 时间:2011-03-07 10:39:40 0 删除 编辑
我们知道index带来查询性能提升的同时,也相应带来了inset,update,delete的高开销,特别是大表更新是开销很大的一件事情,因此,如果能够确认有不会用到的index,而且也不是外键的话,可以删除以节省资源[@more@]1,把index纳入监控范围
alter index index_name monitoring usage;

生成监控所有index使用的sql:
select 'alter index '||index_name||' monitoring usage;' from user_indexes;

2,查询index的监控和使用情况情况
select * from v$object_usage where used='YES';
select * from v$object_usage where used='YES' and monitoring='YES';

3,监控是要消耗资源的,确认使用后,取消对index的监控
alter index index_name nomonitoring usage;

取消所有index的使用监控
select 'alter index '||index_name||' nomonitoring usage;' from v$object_usage where used='YES' and monitoring='YES';

生成监控index使用sql:
select 'alter index '||index_name||' monitoring usage;' from user_indexes;

4,查询大表未使用到的index
select o.table_name,o.index_name,t.num_rows from v$object_usage o,user_tables t
where t.table_name=o.table_name and o.used='NO'
order by t.num_rows desc;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15877397/viewspace-1046907/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    9
  • 访问量
    26011