暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle 监控索引利用率

原创 不吃草的牛_Nick 2023-02-26
493

索引利用率

虽然索引通过加快査询速度而提供了巨大的优点,但它对数据库中的空间利用率具有一定 的影响。如果一个索引根本未使用,则索引占用的空间就可以更好地用于其他地方。如果不需 要索引,也可以节省对索引有影响的插入、更新和删除操作的处理时间。可以使用动态性能视 图V$OBJECT_USAGE监控索引利用率。在HR模式中,怀疑EMPLOYEES表的JOBJD列上的索引未在使用。打开对此索引的监控,如下所示:

alter index hr.emp_job_ix monitoring usage;

 

快速査看V$OBJECT_USAGE视图,确保正在监控该索引:

select * from v$object_usage;

------------------------------------------------------

INDEX_NAME    TABLE_NAME    MON USED START_MONITORING

EMP_JOB_IX EMPLOYEES YES NO   07/24/2007 10:04:55

 

USED列将告诉我们是否访问该索引以满足査询。在完成了一整天的典型用户活动后,再次査看V$OBJECT_USAGE,然后关闭监控:

alter index hr.emp_job_ix nomonitoring usage;

 

select * from v$object_usage;

 

确定在一天中该索引似乎至少使用一次.

 

另一种极端是,可能过于频繁地访问索引。如果频繁地插入、更新和删除键值,那么索引 在空间利用率方面就会变得低效。下面的命令可以用作索引创建之后的基线,然后周期性运行以査看空间利用是否无效:

analyze index hr.emp_job_ix validate structure;

 

select pct_used from index_stats where name = 'EMP_JOB_IX';

 

PCT_USED列表明为使用中的索引分配的空间的百分比。随着时间的推移,会大量使用 EMPLOYEES表,这是由于公司中的雇员经常更换,并且其中的索引没有有效地使用其空间, 下面的analyze命令和select査询表明了这一点,因此决定重新构建索引:

SQL> analyze index hr.emp_job_ix validate structure;

SQL> select pct_used from index_stafcs where name = 'EMP_JOB_IX';

SQL> altar index hr.emp_job_ix rebuild online;

 

注意alter index...代build语句中使用了 online选项。当重新构建索引时,索引表能够以最 少的系统开销保持联机。只在极少的情况下(例如,较长的键长度)可能不能使用online选项。

 

 

 

 

 

 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论