OceanBase ALTER OUTLINE
描述
该语句仅支持使用 SQL_TEXT 创建的 Outline,可用于添加绑定 Outline 和限流规则。
格式
ALTER OUTLINE outline_name ADD stmt [ TO target_stmt ]
参数解释
参数 |
描述 |
---|---|
outline_name |
指定要创建的 Outline 名称。 |
stmt |
一般为一个带有 Hint 和原始参数的 DML 语句。 |
TO target_stmt |
如果不指定 注意
在使用 |
示例
- 通过 ALTER OUTLINE 来添加限流规则。
obclient>CREATE OUTLINE ol_1 ON SELECT /*+max_concurrent(1)*/ * FROM t1 WHERE c1 =1
AND c2 = 1;
obclient>ALTER OUTLINE ol_1 ADD SELECT /*+max_concurrent(1)*/ * FROM t1 WHERE c1 =1
AND c2 = ?;
obclient>ALTER OUTLINE ol_1 ADD SELECT /*+max_concurrent(1)*/ * FROM t1 WHERE c1 =?
AND c2 = 1;
- 通过 ALTER OUTLINE 来添加执行计划。
obclient>CREATE OUTLINE ol_2 ON SELECT /*+max_concurrent(1)*/ * FROM t1,t2
WHERE t1.c1 = 1;
obclient>ALTER OUTLINE ol_2 ADD SELECT /*+use_nl(t2)*/ * FROM t1,t2
WHERE t1.c1 = 1;
注意事项
- 同一个
outline_name
只能指定一个执行计划。如果通过 CREATE OUTLINE
语句指定了执行计划,则无法通过执行 ALTER OUTLINE
时再添加。 - 同
CREATE OUTLINE
类似,在 ALTER OUTLINE
时不能同时指定限流规则和执行计划。 - 执行
ALTER OUTLINE
时,需要 outline_name
和 signature
同时匹配。