Navicat 使用教程:如何确定何时该在Oracle中重建索引

翻译|使用教程|编辑:莫成敏|2020-01-16 10:20:38.770|阅读 20 次

概述:在今天的文章中,我们将学习建立索引的频率以及如何确定何时需要重建索引。

# 您正在找协同办公软件吗?点击这里站长给您推荐 #

相关链接:

Navicat for Oracle通过简化的工作环境提高了Oracle开发人员和管理员的效率和生产力。优化您的Oracle开发-快速,安全地创建,组织,访问和共享信息。Navicat for Oracle与Amazon RDS和Oracle Cloud等云数据库兼容,并支持本地/远程Oracle服务器。

点击下载Navicat for Oracle正式版

每隔一段时间,我们就需要在Oracle中重建索引,因为随着时间的推移,索引变得支离破碎。这会导致数据库查询的性能下降,进而导致数据库查询的性能下降。因此,不时地重建索引会非常有益。话虽如此,索引不应该经常重建,因为这是一项资源密集型任务。更糟糕的是,当重建索引时,将在索引上放置锁,从而阻止任何人在重建期间访问它。尝试访问该索引以返回所需结果的所有查询都将被暂时阻止,直到重建完成。

在今天的文章中,我们将学习建立索引的频率以及如何确定何时需要重建索引。


重建索引的频率

如引言中所述,重建索引既耗费资源又是阻塞任务。这两方面的考虑使它成为脱机活动的理想选择,该活动可以在访问数据库的用户尽可能少的情况下运行。通常,这意味着在计划的维护时段内。

制定关于何时以及多长时间重建索引的全面计划实际上是不可行的。这些决定在很大程度上取决于您使用的数据类型以及所使用的索引和查询。考虑到这一点,这里有一些有关何时重建索引的准则:

  • 每晚重建索引

如果索引迅速碎片化,并且您有一个夜间维护窗口,除所有其他维护任务之外,该窗口还允许您运行“重建索引”任务,那么请务必继续。

  • 每周至少执行一次

如果您不能每晚重建索引,则应至少每周执行一次。如果等待时间超过一周,则由于浪费的空白空间和逻辑碎片而产生的负面影响,可能会损害SQL Server的性能。

  • 选择调度

如果没有维护窗口至少每周一次执行此任务,那么您需要密切注意索引的运行情况。

确定是否需要重建索引

在Oracle中,您可以使用ANALYZE INDEX VALIDATE STRUCTURE命令来了解索引的当前状态。以下是INDEX_STATS表的一些示例输出:


有两个经验法则可以帮助确定是否需要重建索引:

如果索引的高度大于四,则重建索引。

删除的叶行应少于20%。

重建索引

在Oracle中,您可以使用Alter Index Rebuild命令来重建索引。它重建空间索引或分区索引的指定分区。

ALTER INDEX REBUILD命令具有以下几种形式:



处理无法使用的索引

Navicat for Oracle的维护索引工具提供了两个有用的选项来处理无法使用的索引:

  • 重建

重新创建现有索引或其分区或子分区之一。如果索引标记为不可用,则重建成功将标记为可用。

  • 使索引不可用

使索引不可用。在使用无法使用的索引之前,必须对其进行重建、删除或重新创建。

结论

在今天的文章中,我们了解了建立索引的频率以及如何确定何时需要重建索引。您可以下载Navicat for Oracle试用版免费评估~

相关内容推荐:

Navicat 系列教程>>>


想要购买产品正版授权,或了解更多产品信息请点击【咨询在线客服】





标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:Navicat https://www.navicat.com/en/company/aboutus/blog/1303-how-to-tell-when-it-s-time-to-rebuild-indexes-in-oracle.html

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Navicat for Oracle

Navicat for Oracle是一套超强的Oracle数据库系统管理工具,包括数据模型工具、数据或结构同步、导入或导出、和报表,令维护数据的进程更容易。

在线
客服
在线
QQ
咨询
电话
177-4994-3557
购物车 反馈 返回
顶部
在线客服系统
live chat