一、SF_INJECT_HINT函数的作用
提供无需修改SQL语句但依然能按照指定的 HINT 运行语句的相关功能。
二、使用限制
INI 参数 ENABLE_INJECT_HINT 需设置为 1;
SQL 只能是语法正确的增删改查语句;
SQL 会经过系统格式化,格式化之后的 SQL 和指定的规则名称必须全局唯一;
HINT 一指定,则全局生效;
系统检查 SQL 匹配时,必须是整条语句完全匹配,不能是语句中子查询匹配。
三、使用方法
SF_INJECT_HINT(‘需要加hint的sql(可以不需要具体的参数)’,‘NO_USE_CVT_VAR ENABLE_INDEX_JOIN(0)’, ‘INJECT1’, ‘to testfunction of injecting hint’, TRUE);
NO_USE_CVT_VAR ENABLE_INDEX_JOIN(0) --该项为所加的hint
SF_DEINJECT_HINT(‘INJECT1’); —使INJECT1所对应的sql所加的hint失效
INJECT1 --指定名称,可不指定,则系统自动创建
to testfunction of injecting hint --指定的hint描述,可为NULL
TRUE --规则是否生效,可为NULL,默认为TRUE
例:
为sql语句SELECT * FROM T1,T2 WHERE T1.ID = T2.ID指定NO_USE_HASH(T1,T2) ENABLE_INDEX_JOIN(0)的hint
准备数据:
CREATE TABLE T1 (ID INTEGER,NAME VARCHAR(128));
CREATE TABLE T2 (ID INTEGER,NAME VARCHAR(128));
当
达梦-SF_INJECT_HINT
最新推荐文章于 2024-05-07 15:21:43 发布