问题描述
嗨,汤姆
我们有一个关于11.2g中结果缓存行为的问题,这将我们的办公室分开,我们希望您能帮助我们。我们在文档中找不到明确的答案。
问题是,从查询A写入结果缓存是否会导致查询B的争用 (enq: RC-result cache: 争用),该争用可以从/写入结果缓存。
在我们的例子中,这些查询根本不使用相同的表。
换句话说,更新结果缓存会锁定整个结果缓存或仅锁定结果缓存的相关部分。
谢谢。
我们有一个关于11.2g中结果缓存行为的问题,这将我们的办公室分开,我们希望您能帮助我们。我们在文档中找不到明确的答案。
问题是,从查询A写入结果缓存是否会导致查询B的争用 (enq: RC-result cache: 争用),该争用可以从/写入结果缓存。
在我们的例子中,这些查询根本不使用相同的表。
换句话说,更新结果缓存会锁定整个结果缓存或仅锁定结果缓存的相关部分。
谢谢。
专家解答
在11.2中,我们有一个单个RC锁存器,因此 * 更新 * 结果缓存通常会阻止其他也希望同时更新结果缓存的操作。
对于从缓存中读取,可以在共享模式下获得锁存器,因此,除非您引用的是 * 相同 * 缓存对象,否则读取器和编写器可以共存。(在情况不佳的11.1情况并非如此)
许多人将结果缓存视为 “嘿,让我们将其添加到我们拥有的每个查询中”。这样做通常是一个坏主意 :-) 它的目标是查询
-反对不会快速变化的表格,
-执行时间比不缓存的时间大得多
对于从缓存中读取,可以在共享模式下获得锁存器,因此,除非您引用的是 * 相同 * 缓存对象,否则读取器和编写器可以共存。(在情况不佳的11.1情况并非如此)
许多人将结果缓存视为 “嘿,让我们将其添加到我们拥有的每个查询中”。这样做通常是一个坏主意 :-) 它的目标是查询
-反对不会快速变化的表格,
-执行时间比不缓存的时间大得多
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle DataGuard高可用性解决方案详解
孙莹
573次阅读
2025-03-26 23:27:33
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
533次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
436次阅读
2025-04-18 14:18:38
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
430次阅读
2025-04-08 09:12:48
墨天轮个人数说知识点合集
JiekeXu
428次阅读
2025-04-01 15:56:03
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
427次阅读
2025-04-22 00:20:37
Oracle SQL 执行计划分析与优化指南
Digital Observer
426次阅读
2025-04-01 11:08:44
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
405次阅读
2025-04-22 00:13:51
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
391次阅读
2025-04-20 10:07:02
Oracle 19c RAC更换IP实战,运维必看!
szrsu
365次阅读
2025-04-08 23:57:08