Oracle 10g的结果缓存


Results cache for Oracle 10g

我读到Oracle 11g有一个结果缓存功能,我真的可以从中受益。然而,我的客户端有Oracle 10g。有没有什么合理的方法可以在由PHP/5.2支持的web应用程序中模拟它,该应用程序通过ODBC(使用Oracle的驱动程序,而不是Microsoft的驱动程序)连接到远程Oracle 10g服务器。

这个想法是将复杂的查询缓存在通常返回小数据集的大表上,并确保缓存的数据在基础表更改时被丢弃(不需要立即,一小时的延迟是可以接受的)。

我可以在web服务器(而不是Oracle服务器)上安装新软件,如果需要,我可能会切换到OCI8。

您可以在数据库中查看可容忍过时的物化视图。

memcached是一个选项。

但您的客户需要升级到11g,因为10g支持将于2011年7月31日结束,他们可以提供扩展支持,直到2013年7月1日。(此信息可能已更改)

您可以使用11gR2的内存中数据库缓存选项。它也适用于10.2.0.4。这是TimesTen获取的衍生产品,您可以使用它在应用程序服务器上定义直写缓存。这样可以实现非常快速的退货。它的伸缩性非常好,将应用程序服务器与缓存网格服务器相结合。在您的情况下,如果要扫描的数据集很大,则可以使用mviews。如果只是比较复杂,那么缓存将正常工作,即使对于不断修改的表也是如此。