3

有没有可以使用JDBC(普通SQL)查询的产品,它查看查询中的所有表是否都在CACHED表中,并使用缓存,否则回退到后端数据库。

我知道有两种产品:Oracle 内存数据库 (IMDB) 缓存和 VMware SQLFire。

我对它们都不熟悉,所以我想知道是否可以在非缓存表上查询 IMDB 缓存,从而回退到底层数据库?

是否有其他产品支持此功能?

4

2 回答 2

0

使用 11g,您可以使用 JDBC OCI客户端结果缓存

客户端结果缓存功能启用客户端内存中 SQL 查询结果集的客户端缓存。通过这种方式,OCI 应用程序可以使用客户端内存来利用客户端结果缓存来提高重复查询的响应时间。

请注意,CACHE子句并不意味着名称所暗示的含义:

对于频繁访问的数据,该子句表示在执行全表扫描时,为该表检索的块放置在缓冲区缓存中最近最少使用 (LRU) 列表的最近使用端。此属性对于小型查找表很有用。

于 2011-12-29T04:30:05.410 回答
0

Oracle 内存数据库 (IMDB) 缓存确实支持您询问的功能。

如果您使用的 SQL 语句引用 IMDB 缓存表,则将使用缓存。如果您使用的 SQL 语句引用非缓存表,则将访问 Oracle 数据库。

IMDB Cache 使用 SQL 或 PLSQL 对 Oracle 数据库进行读取和/或写入缓存。您可以使用 JDBC [或 ODBC、OCI、ODP.Net、Node.js、Python、Go、Ruby 等] 与 Oracle 数据库或 IMDB 缓存通信。

IMDB Cache 还与对象关系映射技术(如 Hibernate [例如 JPA])一起用于数据访问。

IMDB Cache 使用 Oracle TimesTen In-Memory Database,现在称为“Oracle 应用层数据库缓存”。

我是 Oracle TimesTen 的产品经理。

于 2019-11-21T06:33:42.073 回答