暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle Select语句在Dev环境中使用已满的表存储,但在SIT环境中使用索引范围扫描

ASKTOM 2020-08-12
296

问题描述

嗨,团队,

我在2个环境开发和坐有一张相同的表。两者具有相同的索引pptcode_1_3。

环境-开发
表名-pptcode
行数-103819
执行时间-9秒

当我在开发上运行执行计划时,它会为select语句使用where条件完成表访问存储。

环境-SIT
表名-pptcode
57109的行数
执行时间-1秒

当我在SIT上运行执行计划时,它确实通过索引ROWID和索引范围扫描进行表访问

如何使查询在开发中使用索引并在1秒内运行。

专家解答

您可以在代码中添加一个提示来强制索引,但是从您提供的数据来看,这些表显然在每个环境中都有不同的数据,所以我不确定是否有理由强制使用相同的计划。

这真的取决于你的要求:

-如果您想为每个环境制定最佳计划,请确保您的统计数据取决于每个环境中的数据

-如果您希望开发人员为执行计划匹配SIT,请查看导出/导入架构级别优化器统计信息。你会得到类似的计划,但由于数据不同,你可能会得到不同的响应时间特征。

-如果您想从SIT锁定计划并迫使Dev采取该计划,请查看SQL plan Management以从SIT获取计划并将其导入Dev。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论