【问题标题】:peformance efficiency in global temporary tables vs. normal tables - oracle 10g全局临时表与普通表的性能效率 - oracle 10g
【发布时间】:2010-10-09 21:06:18
【问题描述】:

我正在使用大量全局临时表来针对 Oracle 10g 数据库生成大量报告。每个报告包含 4 到 5 个全局临时表 (GTT)。但据我了解 GTT 的概念,数据是在每个会话中针对不同的参数集动态创建的。

例如,在我的场景中,20 位用户生成报告,例如上个月的销售数据,这可能导致每天执行多达 1000 次。但是,如果我们假设用户更频繁地查询最近的销售数据,那么我们如何使用一些缓存来存储一系列像互联网浏览器那样被更频繁地查询的销售数据呢?此外,任何其他微调 GTT 的建议都会非常有帮助。

【问题讨论】:

    标签: oracle10g performance global temp-tables


    【解决方案1】:

    听起来您正在过度使用 GTT。在 Oracle 查询中通常不需要它们 - 与 SQL Server 相比,(我已经阅读)使用临时表更常见和合适。如果不详细了解您的要求,很难推荐一种方法,但materialized views 是一种“缓存”查询结果一次并多次使用它们的方法。

    【讨论】:

    • +1。大多数情况下,我发现用于驱动报告的 GTT 将只包含 ID(例如,由用户选择),然后报告会将其连接回源数据表。
    • 或临时持久化构建成本高昂但被多个子报表引用的数据集。
    猜你喜欢
    • 2011-06-12
    • 2010-12-24
    • 2012-02-13
    • 2017-10-02
    • 2023-03-27
    • 1970-01-01
    • 2010-09-29
    • 2016-04-02
    • 1970-01-01
    相关资源
    最近更新 更多