分析索引空间使用情况。以及索引是否须要重建



分析其它用户下的索引须要 analyze any的权限

分析索引前先查看表的大小和索引的大小,假设索引大小和表大小一样大或者大于表的大小,那么能够推断索引可能有问题。须要分析索引

查询对象大小:

select owner,segment_name,segment_type,bytes/1024/1024 from dba_segments order by 4 desc 



1.分析索引

SQL> analyze index AA.INDEX_AA validate structure;  

SQL> 

Index analyzed

 

查询空间使用情况:



SQL> select name, blocks, lf_blks,  br_blks, blocks-(lf_blks+br_blks) empty from index_stats;

 

NAME                               BLOCKS    LF_BLKS    BR_BLKS      EMPTY

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

AA                                262144      253480        725       7939

--索引空块达到了7939

 

2.查询索引删除行和删除比例(一般删除率达到30%就要考虑重建索引)

SQL> select t.name, --索引名

  2          t.lf_rows, --number of leaf rows (values in the index)

  3          t.lf_blks,

  4          t.del_lf_rows, --number of deleted leaf rows in the index

  5          (t.del_lf_rows / t.lf_rows)*100 ratio --删除比例

  6     from index_stats t

  7     where t.name='INDEX_AA';

 

NAME                              LF_ROWS    LF_BLKS DEL_LF_ROWS      RATIO

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

AA                              77318533     253480           0          0

 

3.查看索引的使用率以及索引深度(深度>=4时就考虑重建索引)

SQL> SELECT height, NAME, BTREE_SPACE, USED_SPACE, PCT_USED FROM INDEX_STATS;

 

    HEIGHT NAME                           BTREE_SPACE USED_SPACE   PCT_USED

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

         4 INDEX_AA                       2032646380 1231201944         61

--索引深度为4

满足下列条件考虑重建索引

The most common justifications given for rebuilding an index are:

- index becomes fragmented

- index grows and grows - deleted space is not re-used

- index clustering factor becomes out of sync

分析oracle索引空间使用情况,以及索引是否须要重建的更多相关文章

  1. oracle查询不走索引的一些情况(索引失效)

    Oracle建立索引的目的是为了避免全表扫描,提高查询的效率. 但是有些情况下发现即使建立了索引,但是写出来的查询还是很慢,然后会发现是索引失效导致的,所以需要了解一下那些情况会导致索引失效,即查询不 ...

  2. 查看Oracle表空间使用情况与增大表空间

    1,查看表空间使用情况 SELECT D.TABLESPACE_NAME, SPACE || 'M' "SUM_SPACE(M)", BLOCKS "SUM_BLOCKS ...

  3. Oracle查询表空间使用情况

    --查询表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", ...

  4. oracle 表空间使用情况

    --表空间使用情况 SELECT a.tablespace_name "表空间名", round(total/1024/1024,2) "表空间大小", rou ...

  5. Oracle 检查表空间使用情况

    --检查表空间使用情况  SELECT f.tablespace_name       , a.total "total (M)"       , f.free "fre ...

  6. oracle表空间使用情况查询

    1. 查看所有表空间大小 SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_data_files 2 group by tabl ...

  7. 查看Oracle表空间使用情况

    1.查询表空间的总容量 as MB from sys.dba_data_files a group by a.TABLESPACE_NAME 2.查询表空间的空闲容量 select b.TABLESP ...

  8. linux系统下oracle表空间占用情况

    1.我们先查询表空间的占用情况,使用sql如下: select upper(f.tablespace_name) "表空间名", d.tot_grootte_mb "表空 ...

  9. 查询Oracle表空间使用情况

    ,),'990.99')||'%' "使用比(%)",F.TOTAL_BYTES "空闲空间(M)",F.MAX_BYTES "最大块(M)" ...

随机推荐

  1. 15 链表中倒数第k个结点

    输入一个链表,输出该链表中倒数第k个结点. p1先走k-1步,p1 p2再一起走 C++: /* struct ListNode { int val; struct ListNode *next; L ...

  2. 为什么Java中Long类型的比float类型的范围小?

    为什么Long类型的比float类型的范围小? 2015-09-15 22:36 680人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 作为一个常识,我们都知道浮 ...

  3. Spring Boot 实用MyBatis做数据库操作

    前言: 本项目基于maven构建,使用mybatis-spring-boot作为spring-boot项目的持久层框架 spring-boot中使用mybatis持久层框架与原spring项目使用方式 ...

  4. jenkins发布maven项目

    (1)环境介绍 (2)配置ssh配置:系统管理--->系统设置 做这样的配置是方便打包之后war包或jar包复制到/tomcat/update目录下 (3)安装git 1丶不要使用1.8版本以下 ...

  5. php 生成二维码(qrcode)

    可以用composer安装 https://packagist.org/packages/endroid/qrcode

  6. 基于 Laravel 开发博客应用系列 —— 从测试开始(一):创建项目和PHPUnit

    1.创建博客项目 我们将遵循上一节提到的六步创建一个新 Laravel 5.1 项目的步骤,创建本节要用到的博客项目 —— blog. 首先,在本地主机安装应用骨架: nonfu@ubuntu:~/C ...

  7. 2017 Idea 最简易破解 (无需jar包)(个人整理)

    首先 修改host文件: 文件路径:C:\Windows\System32\drivers\etc\hosts 修改:将“0.0.0.0 account.jetbrains.com”追加到hosts文 ...

  8. ASP.NET MVC 提高运行速度的几种性能优化方法

    主要介绍ASP.NETMVC 应用提速的六种方法,因为没有人喜欢等待,所以介绍几种常用的优化方法. 大家可能会遇到排队等待,遇到红灯要等待,开个网页要等待,等等等. 理所当然,没有人喜欢等待网页慢吞吞 ...

  9. scrapy运行机制

    Scrapy主要包括了以下组件: 引擎(Scrapy)用来处理整个系统的数据流, 触发事务(框架核心) 调度器(Scheduler)用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回 ...

  10. WEB架构师成长之路 三

    Web架构师究竟都要学些什么?具备哪些能力呢?先网上查查架构师的大概的定义,参见架构师修炼之道这篇文章,写的还不错,再查查公司招聘Web架构师的要求. 总结起来大概有下面几点技能要求: 一. 架构师有 ...