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



分析其它用户下的索引须要 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. Effective STL 学习笔记14: Use reserve to avoid unnecessary reallocations.

    vector 和 string 容器在动态插入一个新的对象时,如果容器内空间不够,该容器会: 重新分配空间 通常的做法是分配当前 Capacity 大小两倍的空间. 将旧空间中的所有元素拷贝进新的空间 ...

  2. git clone 某个分支或者所有分支

    clone 某个分支: git clone -b  dev5   https://git.coding.net/aiyongbao/tradepc.git clone 所有分支:   git   cl ...

  3. vmstat详解

    一.前言 很显然从名字中我们就可以知道vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,但是怎样通过vmstat来发现系统中的瓶颈呢?在回答这个问题前,还是让我们回顾一下L ...

  4. 黑马程序员_java基础笔记(09)...HTML基本知识、CSS、JavaScript、DOM

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— 基本标签(a.p.img.li.table.div.span).表单标签.ifra ...

  5. Mysql Window 下安装

    http://blog.csdn.net/u013235478/article/details/50623693

  6. poj-2528线段树练习

    title: poj-2528线段树练习 date: 2018-10-13 13:45:09 tags: acm 刷题 categories: ACM-线段树 概述 这道题坑了我好久啊啊啊啊,,,, ...

  7. 【基础知识】Dom基础

    [学习日记]Dom基础 1.   内容:使用JavaScript操作Dom进行DHTML开发 2.   目标:能共使用JavaScript操作Dom实现常见的DHTML效果 3.   DHTML= C ...

  8. python抓包模块

    pcapy模块 安装 yum install -y epel-release yum install -y pip gcc    gcc-c++   libpcap-devel python-deve ...

  9. Winform 串口通讯之读卡器

    老板给我的第一个硬件就是一个读卡器, 说让我做一下试试,于是从网上查了查就写了出来,相当的简单. 但是后来还有一个地磅的串口通讯,我整整搞了一天. 在窗体类的构造函数中写入 Form.CheckFor ...

  10. 通过TortoiseGit上传项目到GitHub

    1.安装msysgit和TortoiseGit : 2.TortoiseGit 设置: (1).确保安装成功: (2).设置用户名和邮箱: 3.登陆github并进入设置页面: 4.添加 SSH Ke ...