0

我有一个 java 程序执行 3 个具有相同内联视图的单独 sql - 每次执行 sql 时构建内联视图大约需要 20 分钟 - 有没有办法缓存或重用它?- 试图避免临时表解决方案,因为它需要委托给 plsql,因为 java 程序无权创建模式对象。ps:甲骨文10g

4

2 回答 2

0

如果您允许,Oracle 将尽力缓存结果。但是如果你真的想要,你仍然可以有一个临时表,而且它相当小。如果您使用包,您可以在第一次调用它时创建临时表,并在另外 2 次使用缓存数据——尝试包变量,看看是否符合您的要求。

于 2010-05-11T23:11:04.023 回答
0

不应即时创建 Oracle 临时表。文档在这里。如果您为此使用临时表,请创建一次并在过程中使用它。

另一种选择可能是物化视图。文档在这里。物化视图将按需或按计划刷新。

根据所提供的信息,无法告诉您哪个更适合您的情况。

于 2010-05-12T08:05:06.017 回答