当我需要为重建索引运行进程以及我如何知道需要重建哪些索引时?
答案 0 :(得分:4)
请在此处阅读http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:2913600659112有关重建索引的信息。重建位图索引是可以的,但btree索引不是这样。
答案 1 :(得分:3)
通常,索引和表格在碎片过于分散时应该重建
在实践中,您可能不需要使用Oracle 10g。在表和索引上发生碎片,对结构(添加/删除列)和大量数据更改(插入,更新,删除)进行了大量更改。
从v10开始,Oracle拥有许多自动化流程来处理数据库性能。其中一个是自动运行的“细分顾问”
如果这是Oracle 10g的完整版(不是快速版),那么您就拥有了数据库管理器仪表板。
在那里,您将找到“顾问中心”,您可以在其中找到Oracle的每个部分的维护信息。
其中,有“细分顾问”报告,您可以在其中找到性能改进的建议。在那里,您可以选择建议的操作并告诉Oracle执行此操作。
如果您对某些表或索引的性能存在疑问,可以按需执行分析,如果应该重建表或索引,您将获得建议。
如果您拥有包含大量用户和大量更改的大型数据库,则可以每天进行检查。
答案 2 :(得分:3)
定期重建指数是许多人坚持的宗教,但很少有人可以证明这一点。几乎所有针对它的情况都是错误的,通常是因为它有意想不到的副作用,例如由于块分裂而增加后续系统负载,因为索引返回到它的自然稀疏状态。
在考虑重建索引之前,您应首先研究索引如何工作,如何创建和删除条目,以及对紧凑或稀疏索引的性能产生影响 - 通过Google找到这些信息并不难。
还要考虑合并操作而不是重建。