我使用大量全局临时表来生成针对Oracle 10g数据库的大量报告。每个报告包含4到5个全球临时表(GTT)。但据我了解GTT的概念,每个会话都会针对不同的参数集动态创建数据。
例如,在我的方案中,有20个用户生成报告,比如上个月的销售数据,并且每天可以导致最多1000次执行。但是,如果我们假设用户更频繁地查询最新的销售数据,那么我们如何使用一些缓存来存储一系列销售数据,这些数据更频繁地被查询,就像互联网浏览器那样。微调GTT的任何其他建议都会非常有用。
答案 0 :(得分:1)
听起来你过度使用GTT了。在Oracle查询中通常不需要它们 - 与SQL Server(我已阅读)相比,使用临时表更常见和更合适。如果不详细了解您的要求,很难推荐一种方法,但materialized views是一种“缓存”查询结果并多次使用它们的方法。