问题描述
亲爱的团队,
您好!
我有一种情况,我们修改和调整的代码在开发实例中工作正常。(PL SQL包)
但是与它相同的代码,所有的提示,索引和查询需要很长时间才能在另一个实例上执行 (测试)。
这些操作涉及所有DML,例如各种表的插入,更新,删除。
代码在两者中是相同的。
然而,测试给出的性能比DEV慢得多。
有什么方法可以诊断这个吗?
我将无法在受限环境中共享确切的代码。
我所说的问题是主要问题。
问候
卡利亚纳
您好!
我有一种情况,我们修改和调整的代码在开发实例中工作正常。(PL SQL包)
但是与它相同的代码,所有的提示,索引和查询需要很长时间才能在另一个实例上执行 (测试)。
这些操作涉及所有DML,例如各种表的插入,更新,删除。
代码在两者中是相同的。
然而,测试给出的性能比DEV慢得多。
有什么方法可以诊断这个吗?
我将无法在受限环境中共享确切的代码。
我所说的问题是主要问题。
问候
卡利亚纳
专家解答
实际上,有无数的原因可能会导致不同的表现。很可能是其中之一:
-不同的数据量 (例如,dev中的行很少,测试中的数百万)
-优化器差异 (统计数据的新鲜度,不存在SQL配置文件/基线,...)
-从单个用户开发实例到多用户测试实例的影响
-不同的硬件或配置设置
首先要做的是准确地找出哪些语句在测试中较慢。您可以通过使用SQL跟踪或PL/SQL分层探查器跟踪代码来执行此操作。我在此视频中概述了这些内容:
with all the hints
我强烈建议您删除所有提示,然后比较性能。dev和test之间数据差异的可能性很大。这意味着这些可能会在dev中给出最佳计划,但会阻止优化器选择更适合测试数据的计划。
-不同的数据量 (例如,dev中的行很少,测试中的数百万)
-优化器差异 (统计数据的新鲜度,不存在SQL配置文件/基线,...)
-从单个用户开发实例到多用户测试实例的影响
-不同的硬件或配置设置
首先要做的是准确地找出哪些语句在测试中较慢。您可以通过使用SQL跟踪或PL/SQL分层探查器跟踪代码来执行此操作。我在此视频中概述了这些内容:
with all the hints
我强烈建议您删除所有提示,然后比较性能。dev和test之间数据差异的可能性很大。这意味着这些可能会在dev中给出最佳计划,但会阻止优化器选择更适合测试数据的计划。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
555次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
478次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
453次阅读
2025-04-01 11:08:44
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
451次阅读
2025-04-08 09:12:48
墨天轮个人数说知识点合集
JiekeXu
447次阅读
2025-04-01 15:56:03
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
440次阅读
2025-04-22 00:20:37
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
417次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
416次阅读
2025-04-22 00:13:51
Oracle 19c RAC更换IP实战,运维必看!
szrsu
396次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
365次阅读
2025-04-17 17:02:24