当前位置:首页 > PHP教程 > PHP总结归纳

oracle数据库如何重建索引

当索引的碎片过多时,会影响执行查询的速度,从而影响到我们的工作效率。这时候采取的最有利的措施莫过于重建索引了。本文主要介绍了oracle数据库中检查索引碎片并重建索引的过程,接下来我们就开始介绍这一过程。 重建索引的步骤如下: 1. 确认基本信息 登

  当索引的碎片过多时,会影响执行查询的速度,从而影响到我们的工作效率。这时候采取的最有利的措施莫过于重建索引了。本文主要介绍了oracle数据库中检查索引碎片并重建索引的过程,接下来我们就开始介绍这一过程。

  重建索引的步骤如下:

  1. 确认基本信息

  登入数据库,找到专门存放index 的tablespace,并且这个tablespace下所有index的owner都是tax.将index专门存放在一个独立的tablespace, 与数据表的tablespace分离,是常用的数据库设计方法。

  2. 查找哪些index需要重建

  通过anlyze index .... validate structure命令可以分析单个指定的index,并且将单个index 分析的结果存放到 index_stats试图下。一般判断的依据是:

  height >4 pct_used < 50% del_lf_rows / lf_rows +0.001 > 0.03 g )

  3. google上下载了遍历所有index脚本

  发现anlyze index .... validate structure只能填充单个index分析信息,,于是google了下,从网上下了个loop 脚本,遍历索引空间下所有的索引名字,并且可以把所有index的分析信息存放到自己建立的一个用户表中。

  4. anlyze index 锁定index

  发现下载的脚本不好用,应为anlyze index在分析索引前要争取独占锁,锁住index,很明显有些index正在被应用系统的使用,所以运行anlyze失败。这里吸取的教训是,尽量晚上做这种事。但是本人比较喜欢准时回家,所以在语句中添加exception handler,抛出anlyze index执行失败的那些index 名称,使脚本正常运行完毕。并且根据打印到前台的index name手动执行那些index分析。

  5. 总结

  虽然发现522个index中有160个符合上面的判断的依据。但是发现索引都不大,而那些拥有百万leaf的索引又没有符合上面的判断条件,所以结论是无需index rebuild online. 没有啥碎片。

  6.什么时候可以rebuild index呢?

  rebuild index online,对那些有大量dml操作的大索引是有益的。可以每个月季度做一次针对较大索引的rebuild。通常哪怕rebuild index online也会造成i/o争用,所以有无online意义不大,可以放到3-5个晚上,分批执行rebuild index,锁定index,不让用户用(没有用户等入的时候),并且加上paralle 8关键字,应为发现数据库服务器有8个cpu processors.

  关于oracle数据库检查索引碎片和重建索引的知识就介绍到这里,希望能够对您有所帮助。

吐了个 "cao" !
吐个槽吧,看都看了
.syntaxhighlighter{padding-top:20px;padding-bottom:20px;} syntaxhighlighter.config.clipboardswf = 'https://www.php1.cn/syntaxhighlighter/scripts/clipboard.swf'; syntaxhighlighter.all();
tools online | 在线开发工具
  • html/js格式化/压缩
  • css代码格式化工具
  • 文章自动排版工具
  • html/js转换
  • utf-8编码转换工具
  • unicode 转换
  • url编码解码
  • 二维码生成工具
  • ip地址查询
  • http状态码(响应码)
  • 网页header头
  • 网页源代码
  • json解析着色
  • diff文件比较
ranklist | 热门文章
  • 1submit提交失败和php中mysql保存出现乱码
  • 2mysql的timeout那点事
  • 3数据驱动销售个性化推荐引擎
  • 4hadoop集群(chd4)实践之 (5) sqoop安装
  • 5mongodb replica set 多服务器 高可用 配置 详解
  • 6hadoop集群(cdh4)实践之 (1) hadoop(hdfs)搭建
  • 7安装淘宝开源web服务器tengine替换nginx并使用proxy_cache做前端


  • 【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!