当前位置: 首页 > 知识 >正文

oracle重建索引会影响数据录入和查询吗(oracle数据库建索引语句)

当索引中碎片过多时,会影响执行查询的速度,从而影响我们的工作效率。这时候最有利的措施就是重建指数。本文主要介绍了在oracle数据库中检查索引碎片和重建索引的过程。

接下来,我们将开始介绍这个过程。

重建索引的步骤如下:

1.确认基本信息

登录数据库,找到一个专门存储索引的表空间。

并且该表空间中所有索引的所有者都是tax。将索引存储在独立的表空间中是一种常见的数据库设计方法,该表空间与数据表的表空间相分离。

2.找出哪些索引需要重建。

通过分析索引的命令.验证结构,可以分析单个指定的索引,单个索引分析的结果可以存储在index_stats下。一般判断基于:

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

3.遍历所有索引的脚本在Google上下载。

我发现lyze指数.Validate structure只能填写单个索引分析信息,于是google从网上下载了一个循环脚本,遍历了索引空间中的所有索引名。

并且指数的所有分析信息都可以存储在自己建立的用户表中。

4. Analyze the index locking index

发现下载的脚本不好用,因为anlyze索引在分析索引之前要争取独占锁,锁索引。显然,有些索引正在被应用程序系统使用,所以运行anlyze失败了。这里的教训是尝试在晚上这样做。

然而,我更喜欢按时回家,所以我在语句中添加了异常处理程序,并抛出那些执行anlyze index失败的索引的名称,以便脚本可以正常运行。

并根据打印到前台的索引名称手动执行这些索引分析。

总结

虽然发现522个指数中有160个符合上述判断的依据。但是发现指数都不大,那些百万叶的指数不满足上述判断条件。

所以结论是不需要在线重建索引。没有碎片。

6.什么时候可以重建索引?

在线重建索引对于具有大量DML操作的大型索引非常有用。大型索引的重建可以每月或每季度进行一次。通常,即使在线重建索引也会导致I/O争用。

所以有没有上线意义不大。可以放在3-5个晚上,批量执行重建索引,锁定索引,不要让用户使用(没有用户等待的时候),加上关键字paralle 8。

应该发现数据库服务器有8个cpu处理器。

这里介绍一下关于Oracle数据库检查索引碎片和重建索引的知识,希望对你有所帮助。

相关文章:
  • 7月3日基金净值:中信债券优化一年持有债A最新净值1.068,涨0.13%
  • 博时中证5G产业50ETF净值上涨1.39% 请保持关注_基金频道_证券之星
  • 3月23日基金净值:交银瑞思混合(LOF)最新净值1.188,涨1.38%_基金频道_证券之星
  • 6月8日基金净值:天弘安康颐养混合A最新净值2.0607,涨0.21%
  • 5月30日基金净值:广发中证创新药产业ETF联接A最新净值0.621,跌1.07%
  • 7月13日基金净值:华泰保兴吉年盈混合A最新净值0.7554,涨2.01%
  • 5月23日基金净值:华安宏利混合A最新净值6.6847,跌1.15%
  • 5月26日基金净值:华夏成长混合最新净值0.919,跌0.33%
  • 5月30日基金净值:华泰柏瑞中证动漫游戏ETF最新净值1.4616,涨5.99%
  • 国泰国证疫苗与生物科技ETF净值下跌1.83% 请保持关注