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

标签: 数据库 优化 删除 | 发表时间:2014-10-17 20:48 | 作者:php521php
出处:http://blog.csdn.net

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下执行

 

作者:php521php 发表于2014-10-17 12:48:03 原文链接
阅读:116 评论:0 查看评论

相关 [数据库 优化 删除] 推荐:

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

- - CSDN博客数据库推荐文章
一个运行了四年的库,近期发现一些头疼的问题,空间不足,性能降低. 发现有些索引因为应用变更,基本不用了,决定检测,删除那些不同的索引;. 以前也有写过博文: http://blog.csdn.net/jacson_bai/article/details/37773319. 这里涉及到公司一些安全,就不贴出来了,主要说一下解决思路.

数据库优化

- - 数据库 - ITeye博客
程序运行效率,优化应用程序,在SP编写过程中应该注意以下几点: . a) SQL的使用规范: .   i.尽量避免大事务操作,慎用holdlock子句,提高系统并发能力.   ii.尽量避免反复访问同一张或几张表,尤其是数据量较大的表,可以考虑先根据条件提取数据到临时表中,然后再做连接.   iii.尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超过1万行,那么就应该改写;如果使用了游标,就要尽量避免在游标循环中再进行表连接的操作.

数据库优化小计

- - CSDN博客数据库推荐文章
周一夜间进行了一次XX业务相关的数据库表优化. 一共4张表,数据量不大,最小的40万记录,最大的300万,大小不超过300MB. 但由于历史原因,表没有建立索引,对应的服务使用的SQL千姿百态,修改起来难度有点大,容易改错,涉及的全国客户较多,大部分都是全表扫描,在秒级的响应时间,但大多客户还能忍着.

数据库的优化tips

- - CSDN博客数据库推荐文章
数据库   TIPS::. 1、用于记录或者是数据分析的表创建时::使用Id作为主键,1,2,3...表示消息条数,用户账号id用于做外键,一个用户对应唯一个accountId.                                     一个accountId可以对应多条数据;. 2、创建索引::    例如需要根据注册版本号和注册游戏ID来查询另外一些字段的时候,就可以根据版本号和游戏ID来创建索引::相当于就是根据查询条件来建索引;.

数据库查询优化

- - SQL - 编程语言 - ITeye博客
1 使用SET NOCOUNT ON 选项:.     缺省地,每次执行SQL语句时,一个消息会从服务端发给客户端以显示SQL语句影响的行数. 通过关闭这个缺省值,你能减少在服务端和客户端的网络流量,帮助全面提升服务器和应用程序的性能. 为了关闭存储过程级的这个特点,在每个存储过程的开头包含“SET NOCOUNT ON”语句.

从Gitlab误删除数据库想到的

- - 酷 壳 – CoolShell
昨天,Gitlab.com发生了一个大事,某同学误删了数据库,这个事看似是个低级错误,不过,因为Gitlab把整个过程的细节都全部暴露出来了,所以,可以看到很多东西,而对于类似这样的事情,我自己以前也干过,而在最近的两公司中我也见过(Amazon中见过一次,阿里中见过至少四次),正好通过这个事来说说一下自己的一些感想和观点吧.

MySQL数据库优化总结

- - CSDN博客推荐文章
        对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要. 一般来说,要保证数据库的效率,要做好以下四个方面的工作:数据库设计、sql语句优化、数据库参数配置、恰当的硬件资源和操作系统,这个顺序也表现了这四个工作对性能影响的大小.        一、数据库设计   适度的反范式,注意是适度的.

ORACLE数据库优化设计方案

- - CSDN博客推荐文章
本文主要从大型数据库ORACLE环境四个不同级别的调整分析入手,分析ORACLE的系统结构和工作机理,从九个不同方面较全面地总结了ORACLE数据库的优化调整方案. 关键词 ORACLE数据库 环境调整 优化设计 方案. 对于ORACLE数据库的数据存取,主要有四个不同的调整级别,第一级调整是操作系统级包括硬件平台, 第二级调整是ORACLE RDBMS级的调整,.

DB2数据库性能优化介绍

- - CSDN博客数据库推荐文章
作者:chszs,转载需注明. 博客主页: http://blog.csdn.net/chszs. 前段时间,我从CSDN得到了这本书《DB2数据库性能调整和优化(第2版)》,这是一本介绍DB2数据库性能调优的书籍,此书覆盖了DB2数据库性能调优所需的全部知识和工具,而且还提供了大量的性能调优的实际案例,颇有一种“一书在手,DB2尽在掌握”的豪情.

浅谈MySQL 数据库性能优化

- - BlogJava-qileilove
数据库是 IO 密集型的程序,和其他数据库一样,主要功能就是数据的持久化以及数据的管理. 本文侧重通过优化MySQL 数据库缓存参数如查询缓存,表缓存,. 日志缓存,索引缓存,innodb缓存,插入缓存,以及连接参数等方式来对MySQL数据库进行优化.   这里先引用一句话,从内存中读取一个数据的时间消耗是微秒级别,而从普通硬盘上读取一个数据是在毫秒级别,二者相差3个数量级.