【问题标题】:Usability vs Visibility in OracleOracle 中的可用性与可见性
【发布时间】:2014-10-20 09:28:19
【问题描述】:

Oracle 声明“不可见索引对于在删除索引之前测试删除索引或临时使用索引而不影响整个应用程序特别有用。”

我不明白为什么可见性对此“特别”有用,不会使索引不可用特别有用,因为没有维护 DML 操作,因此它更像是删除索引,而不是让它变得不可见。我从来没有真正使用过这个,我猜使索引不可见/可见比使其可用/不可用更容易,因为当你使它可用时你必须以某种方式重建索引?

【问题讨论】:

    标签: oracle indexing visibility usability


    【解决方案1】:

    它是指通过统计和优化器对您的查询的影响。

    许多 Oracle 数据库具有复杂的模式、用户群以及非常大的表和索引。有些甚至具有非常受控的模式统计信息。删除一个大索引可能是一个代价高昂的步骤(时间方面)。

    统计信息收集器收集统计信息以填充用于优化器的数据字典。索引统计信息是Cost Based Optimizer 的关键输入之一。 “伪造”删除将导致优化器表现得好像索引已消失,然后您可以看到对查询计划的影响。如果您发现下降不是一个好主意,您可以立即恢复它。另一方面,有些索引需要几个小时才能构建,因此您可以了解能够先对其进行测试的价值。

    【讨论】:

    • 感谢您的回答。我只是想知道例如使索引不可见与无法测试删除索引是否有优势?
    • 啊,我想我现在明白了,使索引无法使用会迫使您重建索引,这可能会很昂贵。谢谢!
    • 没错。删除索引不是您可以回滚的。您需要重新创建、恢复或闪回。
    猜你喜欢
    • 2020-06-20
    • 2011-03-29
    • 2010-09-27
    • 2017-11-15
    • 2013-06-14
    • 2012-09-24
    • 2012-06-15
    • 2020-02-10
    • 2012-05-10
    相关资源
    最近更新 更多