寻找没有使用的索引

那些存在但是没有使用的索引是以个导致DML语言执行效率低下的严重问题,所有的 SQL语句如:INSERTS、UPDATES、和DELETES当它们要更新表中含有很多索引的行时将运行得很慢。ORACLE专业人士看到一列应用到SQL查询语句的WHERE语句时将会重新设置索引,这有可能使得SQL语句运行更快。ORACLE提供的索引功能可能会重新配置索引到这些表中的列,这种重新配置的索引将削弱装载ORACLE自关联表的执行效率。在ORACLE9i前,没有办法表示哪些SQL查询语句没有使用的索引。现在我们通过ORACLE9i提供的方法可以找到和删除这些没有使用的索引。ORACLE9i提供一个工具让你使用ALTER INDEX 命令来监控索引使用情况。你可以定位和查找那些没有使用的索引然后从数据库中删除。

下面一段代码将打开对系统中使用的索引的监控。

Set pages 999;

Set heading off;

Spool run_monitor.sql

Select

‘alter index ‘||owner||’.’||index_name||’ monitoring usage;’

from

   dba_indexes

where

   ower not in (‘SYS’,’SYSTEM’,’PERFSTAT’)

;

spool off;

@run_monitor

等到这些重要的SQL在数据库中执行完毕,查寻新的V$OBJECT_USAGE 视图

select

index_name,

table_name,

mon,

used

from

   v$object_usage;

如下所示,我们可以看到V$OBJECT_USAGE中有一列声明为USED。它可以设置成YES或者NO,它不会告诉你ORACLE使用这个索引要多少时间,但是这个工具有利于来研究不使用的索引。

INDEX_NAME                        TABLE_NAME   MON     USED

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

CUSTOMER_LAST_NAME_IDX         CUSTOMER     YES      NO

时间: 2024-11-30 06:09:03

寻找没有使用的索引的相关文章

裁决SEO:如何更好的做网站优化价值取向

"网站优化"这个词,对站长来说再熟悉不过了,任何网站的崛起都要经历这么一个过程.那么作为站长的你是否真正的了解网站优化呢?不少站长认为,网站优化不就是每天做做内容更新.推广推广外链,然后去提高网站的排名吗?事实上,这么做的站长多了去了,但为什么最后还是难以获得较高成绩呢,问题在哪里?二进制认为,关键在于没有透彻的理解SEO优化的真正价值取向,盲目的做着所谓的优化.那么网站优化实质意义是什么呢?相信杠杆这个原理更能诠释. 一:不做盲目的更新 有不少站长认为,网站要讨好搜索引擎,那么就需要

使用 VS Code 远程调试 Python 程序

在上一篇文章 远程调试你的 Python 代码 中,我简单介绍了 Python 世界中的两种远程调试模型:PyCharm 选择的 debugger as debug server 模式和 VS Code 提供的 debugger as debug client 模式,并分享了 PyCharm 的远程调试适用于单体应用,VS Code 的远程调试适用于大规模的分布式应用的观点. 随后有同行来信咨询我具体如何使用 VS Code 来远程调试.由于 VS Code Python Plugin 的文档并

如何更好的做网站优化价值取向

问题在哪里?二进制认为,关键在于没有透彻的理解SEO优化的真正价值取向,盲目的做着所谓的优化.那么网站优化实质意义是什么呢?相信杠杆这个原理更能诠释. 一:不做盲目的更新 有不少站长认为,网站要讨好搜索引擎,那么就需要不间断的去更新内容.甚至有些站长真正的做到了24小时不间断的更新.但到最后,为什么排名还是上不去呢?二进制在这里要说的是:网站更新所谓的不断,完全没有必要循规蹈矩的不断更新,如果可能的话,每天更新个1次两次就足够了.举个例子,就拿"SEO"这个词来说,为什么大量的博主每天

JavaScript关于数组的那些事

下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个removeByValue的方法  一.创建数组 1.使用数组字面量(直接量) var empty=[];//空数组 var misc=[1.1,true,"a",[1,{x:1,y:2}]];//元素类型不同 var count=[1,,2];//有3个元素,中间被省略的值为undefined var undefs=[,,];//有2个元素,但也会解析为3个,所以不要这样做 2.调用构造

ARM-Linux (临时,正式) 建立页表的比较【转】

转自:http://blog.csdn.net/edwardlulinux/article/details/38967521 版权声明:本文为博主原创文章,未经博主允许不得转载.   很久没有写博客了,由于之前的写关于OMAP3530文章还没有整理.再加上一直在找工作,找到工作后又投入到另外的平台去工作.始终在忙忙碌碌,但是对于代码确实渐渐疏远. 在做项目的时候要使用DDR3分配内存,不经意间使用要和MMU以及TLB打交道.因此特地写下这篇文章以备后用.(工作就是在和遗忘作斗争)!   Linu

MySql的基本操作以及以后开发经常使用的常用指令

第一章:数据类型和操作数据表MySQL语句的规范(1):关键字与函数名称全部大写(2):数据库名称,表名称,字段名称全部小写(3):SQL语句必须以分号结尾 1:命令行模式启动mysql服务net start mysql 2:命令行模式关闭mysql服务net stop mysql 3:mysql退出mysql>exit;mysql>quit;mysql>\q; 4:显示当前服务器版本select version(); 5:显示当前日期时间select now(); 6:显示当前用户se

Nutch Hadoop 教程

怎样安装Nutch和 Hadoop 搜寻网页和邮件列表,似乎很少有关于如何使用Hadoop (曾经的DNFS)分布式文件系统( HDFS )和MapReduce来安装Nutch的文章 . 本教程的目的是通过逐步讲解的方法,来讲解了如何在多节点的Hadoop文件系统上运行Nutch,包括能够同时索引(爬取)和搜寻多台机器. 这篇文档没有涉及到Nutch或Hadoop架构.它只是讲述了如何让系统启动和运行. 然而,在教程的最后,如果您想更多地了解Nutch和Hadoop的体系结构,我将指给您相关的资

使用MYSQL索引

    关系数据库的世界是一个表与集合.表与集合上的运算占统治地位的世界.数据库是一个表的集合,而表又是行和列的集合.在发布一条SELECT 查询从表中进行检索行时,得到另一个行和列的集合.这些都是一些抽象的概念,对于数据库系统用来操纵表中数据的基本表示没有多少参考价值.另一个抽象概念是,表上的运算都同时进行:查询是一种概念性的集合运算,并且集合论中没有时间概念.当然,现实世界是相当不同的.数据库管理系统实现了抽象的概念,但是在实际的硬件    范围内要受到实际的物理约束.结牵檠ㄊ奔洌

新上线的电商网站该如何去寻找外部链接

不知各位站长们有没有遇到过这样的问题,当一个电商网站新上线时对所有优化都没有问题,唯独在建设外部链接上出了问题,很多站长不知该如做新上线的网站,相信很多站长都遇到这种问题吧,其实我也遇到过,特别是我现在所负责的电商网站.目前,我优化的是眼镜行业的电子商务网站,从建站初期到中期的优化再到后期的维护,之间不知道吃了多少苦受了多少百度的罪,最终百度还是以不错的排名和权重回报了我,虽然后期去优化的时候非常顺利,但在初期网站新上线时却不知道该如何建设外链,后来我也是找了很多种途径去做外链,因为是新手站长所