暂无图片
同一条sql,测试和生产执行速度差距很大
我来答
分享
chen
2022-10-13
同一条sql,测试和生产执行速度差距很大
测试环境2分钟就出结果,生产一个小时都没有结果
我来答
添加附件
收藏
分享
问题补充
8条回答
默认
最新
chen
上传附件:测试.txt
暂无图片 评论
暂无图片 有用 0
打赏 0
chen
上传附件:生产.txt
暂无图片 评论
暂无图片 有用 0
打赏 0
chen

执行计划已发送

暂无图片 评论
暂无图片 有用 0
打赏 0
哇哈哈

数据量一样吗,感觉差了好几个0

暂无图片 评论
暂无图片 有用 1
打赏 0
chen
题主
2022-10-13
大佬先看看执行计划吧,这个sql逻辑比较复杂
吾喾

看着像是执行计划多版本问题,生产上固定下最优的执行计划

execute dbms_sqltune.create_sql_plan_baseline(task_name => 'TASK_22568',
owner_name => 'SYS', plan_hash_value => 762148025);

暂无图片 评论
暂无图片 有用 0
打赏 0
chen
题主
2022-10-13
固定以后临时表空间占用会非常快,加多少满多少
吾喾

清理SQL的执行计划,收集涉及的表统计信息,重新执行试试

--查询SQL的ADDRESS和HASH_VALUE
SQL> select sql_id, ADDRESS, HASH_VALUE from v$sqlarea where sql_id = '7mz2mhz0nq92n';

SQL_ID                     ADDRESS          HASH_VALUE
-------------------------- ---------------- ----------
7mz2mhz0nq92n              0000000087F34700 3242927188

--清理SQL的执行计划
SQL> exec sys.DBMS_SHARED_POOL.PURGE('0000000087F34700,3242927188','C');
复制
暂无图片 评论
暂无图片 有用 0
打赏 0
张sir

你跑两个sql monitor拿上来看下吧,上传的两个文档内容格式看起来有点乱。

暂无图片 评论
暂无图片 有用 0
打赏 0
Root__Liu

跑下SQL monitor或者sql10,建议先对比两边的数据量、字段、索引是不是一致。好多测试环境索引数据量和生产是不一致的,而且差距比较大,这很容易影响执行计划

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交