ITPub博客

首页 > 数据库 > Oracle > 删除从未使用的索引

删除从未使用的索引

原创 Oracle 作者:壹頁書 时间:2014-01-04 11:23:27 0 删除 编辑
平时创建的索引,因为种种原因、场景考虑不全,根本没有使用过。
等到生产环境实际部署,这些索引没有任何作用,还影响数据插入的效率。
所以,在功能测试和性能测试阶段,可以打开索引监控,找到这些从未使用过的索引。
分析这些索引没有使用的原因,并且删除。

1.在全面测试之前,开启索引监控
  1. select 'alter index '||index_name||' monitoring usage;' from user_indexes;


2.开始全面的功能、性能测试

3.测试结束之后,关闭索引监控,并查看从未使用的索引

  1. --关闭索引监控
  2. select 'alter index '||index_name||' nomonitoring usage;' from user_indexes;
  3. --查看监控结果
  4. select * from v$object_usage;


可以看到索引SYS_C0012184使用过,而另外两个索引没有使用过。
发现从未使用的索引,需要分析一下未使用的原因。
可能原来设计走这个索引的语句,正在全表扫描...

删除这些从未使用的索引

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

请登录后发表评论 登录
全部评论

注册时间:2013-10-19

  • 博文量
    620
  • 访问量
    6339864