首页 > 数据库 > mysql教程 > 数据库优化-删除不再使用的索引

数据库优化-删除不再使用的索引

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-07 16:05:19
原创
1088 人浏览过

ENV:11.2.0.3 一个运行了四年的库,近期发现一些头疼的问题,空间不足,性能降低 发现有些索引因为应用变更,基本不用了,决定检测,删除那些不同的索引; 以前也有写过博文:http://blog.csdn.net/jacson_bai/article/details/37773319 这里涉及到公司一些

ENV:11.2.0.3

一个运行了四年的库,近期发现一些头疼的问题,空间不足,性能降低

发现有些索引因为应用变更,基本不用了,决定检测,删除那些不同的索引;
以前也有写过博文:http://blog.csdn.net/jacson_bai/article/details/37773319
这里涉及到公司一些安全,就不贴出来了,主要说一下解决思路

数据库每一个schema下所有操作都相同:
1.开启索引监控
select 'alter index '||index_name||' monitoring usage;' from user_indexes;
将查询结果写在一个1.sql文本,调用sqlplus执行。
2.监控程序运行,这个是需要时间的,尤其是有PL/SQL写的那些对象,必须都运行了,才可以下结论
有时候可能需要一个月,因为有些job就是每月运行一下
3.关闭索引监控
select 'alter index '||index_name||' nomonitoring usage;' from user_indexes;
将查询结果写在一个2.sql文本,调用sqlplus执行
4.查看监控结果
select * from v$object_usage;

关键看,USE是YES还是NO

5.将结果导出来,与开发讨论后,的确没有再使用的,就drop

备注:有些schema可能没有权限执行alter哦,要么赋权限再拿掉,要么有补全schema,在sysdba下执行

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
数据库数据
来自于 1970-01-01 08:00:00
0
0
0
数据库
来自于 1970-01-01 08:00:00
0
0
0
数据库文件导入
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板