|
 |
公 告 |
|
 |
登 陆 |
|
 |
日志日历 |
|
 |
日 志 |
|
 |
评 论 |
|
 |
链 接 |
|
 |
统 计 |
| |
|
|
|
在日常开发中我们经常通过增加索引来提升Oracle访问数据的效率,但业务模式发生更改导致索引没有被使用,或者增加了索引导致业务处理变慢时有发生。针对这些情况,我们可以使用Oracle索引监控来监控索引的使用情况,剔除不再使用或者使用频次较少的索引。操作方法如下: Oracle索引监控
1.以Owner用户登录 对要监控的索引执行如下命令 alter index CHARGE_IDX1 monitoring usage; alter index CHARGE_IDX2 monitoring usage; alter index CHARGE_IDX3 monitoring usage;
2.查询 select * from v$object_usage t where t.monitoring='YES' INDEX_NAME TABLE_NAME MONITORING USED START_MONITORING END_MONITORING ----------------- ----------- ---------- ---- ------------------- ------------------- CHARGE_IDX1 TCHARGE YES NO 11/27/2007 15:41:28 CHARGE_IDX2 TCHARGE YES NO 11/27/2007 15:41:29 CHARGE_IDX3 TCHARGE YES NO 11/27/2007 15:41:29 可以看到 CHARGE_IDX1,CHARGE_IDX2,CHARGE_IDX3 已经在开始监控的了。
3.过一段时间(比如一天),再去看select * from v$object_usage t where t.monitoring='YES',如果索引使用的话USED就为YES了 INDEX_NAME TABLE_NAME MONITORING USED START_MONITORING END_MONITORING ----------------- ----------- ---------- ---- ------------------- ------------------- CHARGE_IDX1 TCHARGE YES YES 11/27/2007 15:41:28 CHARGE_IDX2 TCHARGE YES NO 11/27/2007 15:41:29 CHARGE_IDX3 TCHARGE YES NO 11/27/2007 15:41:29 对USED为NO的索引根据情况可以根据需求进行删除(drop)
4. 完毕后记得关闭索引监控 alter index CHARGE_IDX1 nomonitoring usage; alter index CHARGE_IDX2 nomonitoring usage; alter index CHARGE_IDX3 nomonitoring usage; |
|
|
| |