首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【YashanDB知识库】outline固化执行计划

【YashanDB知识库】outline固化执行计划

作者头像
用户10349277
发布2025-02-18 11:56:25
发布2025-02-18 11:56:25
1360
举报
文章被收录于专栏:YashanDB知识库YashanDB知识库

【问题分类】性能优化,功能使用

【关键字】outline

【问题描述】防止SQL执行计划突变,用outline固化执行计划

【问题原因分析】防止SQL执行计划突变,用outline固化执行计划

【解决/规避方法】

代码语言:javascript
复制
SQL 代码解读复制代码
--创建测试outline:ol_ab/ol_ba

conn sales/sales

CREATE OUTLINE ol_ab FOR CATEGORY ctgy_ab ON

SELECT /*+ leading(a,b) */ a.area_name, b.branch_name

FROM area a, branches b

WHERE a.area_no = b.area_no

AND b.branch_no LIKE '01%'

AND a.area_no LIKE '01';


CREATE OUTLINE ol_ba FOR CATEGORY ctgy_ab ON

SELECT a.area_name, b.branch_name

FROM area a, branches b

WHERE a.area_no = b.area_no

AND b.branch_no LIKE '01%'

AND a.area_no LIKE '01'; 

--修改基表,交换outline

conn / as sysdba

UPDATE OL$HINTS SET OL_NAME=DECODE(OL_NAME,'OL_AB','OL_BA','OL_BA','OL_AB') WHERE OL_NAME IN ('OL_AB','OL_BA');

--打开outline开关

ALTER SESSION SET USE_STORED_OUTLINES=ctgy_ab;

--验证应用SQL执行计划

conn sales/sales

explain SELECT a.area_name, b.branch_name

FROM area a, branches b

WHERE a.area_no = b.area_no

AND b.branch_no LIKE '01%'

AND a.area_no LIKE '01';

【影响范围】严重降低SQL执行效率

【修复版本】22.2

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档