提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|使用教程|编辑:鲍佳佳|2021-03-09 10:49:29.300|阅读 135 次
概述:每隔一段时间,我们就需要在Oracle中重新生成索引,因为随着时间的推移,索引变得支离破碎。 这会导致它们的性能以及扩展的数据库查询性能下降。 因此,不时地重新生成索引会非常有益。在今天的博客中,我们将学习建立索引的频率以及如何确定何时需要重新生成索引。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
每隔一段时间,我们就需要在Oracle中重新生成索引,因为随着时间的推移,索引变得支离破碎。 这会导致它们的性能以及扩展的数据库查询性能下降。 因此,不时地重新生成索引会非常有益。 话虽如此,索引不应该经常重新生成,因为这是一项资源密集型任务。 更糟糕的是,当重新生成索引时,锁将被放置在索引上,从而阻止任何人在重新生成期间访问它。 任何尝试访问此索引以返回所需结果的查询都将被暂时阻止,直到重新生成完成。
在今天的博客中,我们将学习建立索引的频率以及如何确定何时需要重新生成索引。
重新生成搜索引擎的频率
如引言中所述,重新生成索引既耗费资源又是阻塞任务。 这两方面的考虑使它成为脱机活动的理想选择,该活动可在访问数据库的用户尽可能少的情况下运行。 通常,这意味着在计划的维护时段内。
针对何时以及多长时间重新生成一次索引,制定一个全面的计划实际上是不可行的。 这些决定在很大程度上取决于您使用的数据类型以及所使用的索引和查询。 考虑到这一点,这里有一些有关何时重新生成索引的准则:
如果索引迅速碎片化,并且您有一个夜间维护窗口,除所有其他维护任务之外,该窗口还允许您运行“重新生成索引”任务,那么请务必继续。
如果您无法每晚重新生成索引,则应至少每周执行一次。 如果等待时间超过一周,则由于浪费的空白空间和逻辑碎片而产生的负面影响,可能会损害SQL Server的性能。
如果没有至少每周一次执行此任务的维护窗口,那么您需要密切注意索引的运行情况。
确定是否需要重新生成索引
在Oracle中,您可以使用ANALYZE INDEX VALIDATE STRUCTURE命令来了解索引的当前状态。 以下是INDEX_STATS表的一些示例输出:
SQL> ANALYZE INDEX IDX_GAM_ACCT VALIDATE STRUCTURE; Statement processed. SQL> SELECT name, height,lf_rows,lf_blks,del_lf_rows FROM INDEX_STATS; NAME HEIGHT LF_ROWS LF_BLKS DEL_LF_ROW ------------- ----------- ---------- ---------- ---------- DX_GAM_ACCT 2 1 3 6 1 row selected.
有两个经验法则可以帮助确定是否需要重新生成索引:
重新生成索引
在Oracle中,您可以使用Alter Index Rebuild命令来重新生成索引。 它重新生成空间索引或分区索引的指定分区。
ALTER INDEX REBUILD命令具有以下几种形式:
ALTER INDEX [schema.]index REBUILD [PARAMETERS ('rebuild_params [physical_storage_params]' ) ] [{ NOPARALLEL | PARALLEL [ integer ] }] ;
或者
ALTER INDEX [schema.]index REBUILD [PARAMETERS ('rebuild_params [physical_storage_params]' ) ] [{ NOPARALLEL | PARALLEL [ integer ] }] ;
或者
ALTER INDEX [schema.]index REBUILD PARTITION partition [PARAMETERS ('rebuild_params [physical_storage_params]' ) ];
处理无法使用的索引
Navicat for Oracle的维护索引工具提供了两个有用的选项来处理无法使用的索引:
重新创建一个现有索引或其分区或子分区之一。 如果索引标记为不可用,则重新生成成功将标记为可用。
使索引不可用。 在使用无法使用的索引之前,必须对其进行重新生成,删除或重新创建。
总结
在今天的博客中,我们了解了建立索引的频率以及如何确定何时需要重新生成索引。
如果您想了解有关Navicat for Oracle的更多信息,请访问产品页面。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
Navicat for Oracle是一套超强的Oracle数据库系统管理工具,包括数据模型工具、数据或结构同步、导入或导出、和报表,令维护数据的进程更容易。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢