有没有什么产品可以使用JDBC (普通SQL)进行查询,它会查看查询中的所有表是否都在缓存表中,并使用缓存,否则会后退到后端数据库。
我知道有两个产品: Oracle In Memory Database (IMDB) Cache和VMware SQLFire。
我对它们都不熟悉,所以我想知道是否可以在非缓存表上查询IMDB缓存,因此它会后退到底层数据库?
还有没有其他产品支持这项功能?
发布于 2011-12-29 12:30:05
对于11g,您可以使用JDBC OCI Client Result Cache。
SQL结果缓存功能支持在客户端内存中缓存
查询结果集。通过这种方式,OCI应用程序可以使用客户端内存来利用客户端结果缓存,从而缩短重复查询的响应时间。
请注意,CACHE子句并不是其名称所暗示的意思:
对于频繁访问的数据,此子句表示在执行全表扫描时,将为此表检索的块放在缓冲区缓存中最近最少使用(
)列表的最近使用端。此属性对于小的查找表很有用。
发布于 2019-11-21 14:33:42
内存数据库(IMDB)缓存中的Oracle不支持您询问的功能。
如果您使用的SQL语句引用IMDB缓存表,则将使用缓存。如果使用的SQL语句引用非缓存表,则将访问Oracle数据库。
IMDB缓存使用SQL或PLSQL对Oracle数据库进行读和/或写缓存。您可以使用JDBC或ODBC、OCI、ODP.Net、Node.js、Python、Go、Ruby等与Oracle数据库或IMDB Cache进行通信。
IMDB Cache还可以使用对象关系映射技术,例如Hibernate,例如用于数据访问的JPA。
IMDB缓存使用Oracle TimesTen内存数据库,现在称为“Oracle应用层数据库缓存”。
我是甲骨文TimesTen的产品经理。
https://stackoverflow.com/questions/8662527
复制相似问题