问题描述
在我的Oracle 12.1.0.2 Oracle标准版数据库中,默认设置为OPTIMIZER_DYNAMIC_SAMPLING = 2,我看到某些所有表都已经收集了表统计信息的sql正在进行动态采样。因此,与以前的Oracle 12.1.0.1版本相比,某些SQL语句的性能大幅下降。我仅在升级后的环境 (从Oracle 12.1.0.1到Oracle 12.1.0.2) 中发现这一点,而在新的Oracle 12.1.0.2中却没有。
根据Oracle 12c文档,在OPTIMIZER_DYNAMIC_SAMPLING = 2 (这是默认值),dynamic statistics is done only if at least one of the tables in the SQL query has no table statistics。但在这里,我可以看到动态采样是由optimizer在Oracle 12.1.0.2版本中完成的,用于某些sql (大部分时间都带有大表)。/* DS_SVC */可以在跟踪文件中看到。
这可能是优化器逻辑中的错误,还是我错过了什么?
根据Oracle 12c文档,在OPTIMIZER_DYNAMIC_SAMPLING = 2 (这是默认值),dynamic statistics is done only if at least one of the tables in the SQL query has no table statistics。但在这里,我可以看到动态采样是由optimizer在Oracle 12.1.0.2版本中完成的,用于某些sql (大部分时间都带有大表)。/* DS_SVC */可以在跟踪文件中看到。
这可能是优化器逻辑中的错误,还是我错过了什么?
专家解答
这也在文档中
“在某些情况下,优化器会自动决定使用11,例如:
-查询将并行运行。
-查询之前已执行,并且其历史记录可用 (来自游标缓存,自动工作负载存储库或SQL管理库)。”
这些可以适用于你吗?
“在某些情况下,优化器会自动决定使用11,例如:
-查询将并行运行。
-查询之前已执行,并且其历史记录可用 (来自游标缓存,自动工作负载存储库或SQL管理库)。”
这些可以适用于你吗?
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
638次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
620次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
518次阅读
2025-04-20 10:07:02
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
518次阅读
2025-04-08 09:12:48
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
476次阅读
2025-04-22 00:20:37
Oracle 19c RAC更换IP实战,运维必看!
szrsu
453次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
452次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
450次阅读
2025-04-30 12:17:56
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
448次阅读
2025-04-22 00:13:51
火焰图--分析复杂SQL执行计划的利器
听见风的声音
396次阅读
2025-04-17 09:30:30