我使用大量的全局临时表针对Oracle 10g数据库生成大型报告。每个报告由4到5个全局临时表(GTT)组成。但就我对GTT概念的理解而言,每次会话都会为不同的参数集动态创建数据。
例如,在我的场景中,20个用户生成报告,比如说上个月的销售数据,它可以导致每天执行多达1000次。但是如果我们假设用户更频繁地查询最近的销售数据,那么我们如何使用一些高速缓存来存储像互联网浏览器那样被更频繁地查询的销售数据范围呢?此外,任何其他微调GTT的建议都将非常有帮助。
发布于 2010-10-10 22:09:29
听起来你好像过度使用了GTT。在Oracle查询中通常不经常需要临时表-与SQL Server相反,在SQL Server中(我已经阅读过)使用临时表更为常见和合适。如果不详细了解您的需求,就很难推荐一种方法,但materialized views是一种“缓存”查询结果并多次使用它们的方法。
https://stackoverflow.com/questions/3897874
复制相似问题