当前位置:  数据库>oracle

Oracle索引的管理

    来源: 互联网  发布时间:2017-06-08

    本文导语: 前言:数据库运行了一段时间之后,由于频繁的进行了增删改,索引就会产生碎片,碎片多了自然而然的就会影响查询的效率。通过Oracle提供的一些管理视图和工具就可以分析出数据库的哪些索引由于碎片太多需要进行重建; ...

前言:数据库运行了一段时间之后,由于频繁的进行了增删改,索引就会产生碎片,碎片多了自然而然的就会影响查询的效率。通过Oracle提供的一些管理视图和工具就可以分析出数据库的哪些索引由于碎片太多需要进行重建;

一、查找数据库比较占用空间的索引

需要根据业务设定搜索的条件,索引大小大于特定值,索引的层数大于1的索引

Select a.index_name,a.table_name,a.blevel,B.BLOCKS*8/1024 MB,b.bytes

from dba_indexes a,dba_segments b

Where a.index_name=b.segment_name and a.owner=b.owner and b.segment_type='INDEX'

And a.blevel>1 and B.BLOCKS*8/1024>'&B'

And b.tablespace_name='&A';

二、进行索引的分析

2.1 标准的SQL语句如下:

analyze index index_name validate structure;

例如:schemas:ekpj

table_name:I_SYS_WF_HISTO_PROCESS_ID1

脚本:analyze index ekpj. I_SYS_WF_HISTO_PROCESS_ID1 validate structure; 

2.2 查看分析结果: 

select name,height, del_lf_rows, lf_rows,

round((del_lf_rows/(lf_rows+0.0000000001))*100) "Frag Percent" from

index_stats;
 

当Frag Percent大于10的时候,即可对索引进行重建;

三、索引重建的脚本 

ALTER INDEX index_name

REBUILD

NOCOMPRESS

NOPARALLEL

NOLOGGING

TABLESPACE USERS

STORAGE (

INITIAL 38M

NEXT 1M

)

ONLINE; 

总结:
•需要通过业务了解哪些表会频繁的进行增删改,因为索引碎片产生的原因是由于增删改操作导致的,知道了这些操作将事半功倍;
•进行索引重建必须放在业务的空闲期操作,避免影响业务的正常操作;
•建议每个月进行以上的操作;

由Oracle索引来理解ArcSDE索引

Oracle索引技术之如何建立最佳索引

Oracle索引列NULL值引发执行计划该表的测试示例

Oracle索引 主键影响查询速度

Oracle索引扫描


    
 
 

您可能感兴趣的文章:

  • Oracle与Mysql主键、索引及分页的区别小结
  • 从Oracle的约束到索引
  • Oracle 9i轻松取得建表和索引的DDL语句
  • Oracle9i取得建表和索引的DDL语句
  • oracle10g全文索引自动同步语句使用方法
  • Oracle建立二进制文件索引的方法
  • 在Oracle 10g中如何获得索引的专家建议
  • Oracle全文索引设置
  • 用Oracle 9i全索引扫描快速访问数据
  • Oracle中如何把表和索引放在不同的表空间里
  • Oracle索引存储关系到数据库的运行效率
  • Oracle索引聚簇表的数据加载
  • 在Oracle中监控和跟踪索引使用情况
  • oracle 索引的相关介绍(创建、简介、技巧、怎样查看) .
  • Oracle中检查是否需要重构索引的sql
  • 轻松取得Oracle 9i建表和索引DDL语句
  • 深度揭露Oracle索引使用中的限制
  • Oracle索引(B*tree与Bitmap)的学习总结
  • oracle 索引不能使用深入解析
  • SQL Server和Oracle数据库索引介绍
  • 求助:oracle9在redhat9上安装好后,oracle管理工具会在菜单工具栏上显示吗?
  • Oracle自动存储管理支持库 ASMLib
  • Oracle ASM自动管理存储管理简介
  • windows上要装什么软件才能管理到linux上的oracle?
  • 在HP Unix 下Oracle的控制和管理
  • 用Oracle管理服务器将数据导入与导出
  • Oracle管理工具 phpOraAdmin
  • Linux上管理本机Oracle的时候出现找不到ServiceName的错误
  • 有谁知道Oracle8的数据库管理工具是用什么开发工具编写的?
  • 甲骨文新推Oracle Linux管理软件包
  • oracle区管理和段空间管理详细介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,