惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Blog of Author Tim Ferriss
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
T
Tailwind CSS Blog
The Cloudflare Blog
The Last Watchdog
The Last Watchdog
PCI Perspectives
PCI Perspectives
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
TaoSecurity Blog
TaoSecurity Blog
云风的 BLOG
云风的 BLOG
C
Cybersecurity and Infrastructure Security Agency CISA
O
OpenAI News
Recorded Future
Recorded Future
GbyAI
GbyAI
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Y
Y Combinator Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
量子位
博客园 - 叶小钗
V
Vulnerabilities – Threatpost
F
Full Disclosure
Recent Announcements
Recent Announcements
Vercel News
Vercel News
S
Schneier on Security
H
Heimdal Security Blog
Cisco Talos Blog
Cisco Talos Blog
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
B
Blog RSS Feed
宝玉的分享
宝玉的分享
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy & Cybersecurity Law Blog
T
Threat Research - Cisco Blogs
G
Google Developers Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
爱范儿
爱范儿
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
N
Netflix TechBlog - Medium
S
Security @ Cisco Blogs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Microsoft Azure Blog
Microsoft Azure Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Cyberwarzone
Cyberwarzone

良的世界

达梦数据库主备集群动态增加实时备库 – 良的世界 达梦数据库SQL报错之远程操作符执行失败 – 良的世界 达梦数据库的审计功能 – 良的世界 达梦数据库在同一服务器上配置多个 AP 服务 – 良的世界 达梦数据库中常用的系统视图 – 良的世界 达梦数据库服务器的磁盘I/O监控指南 – 良的世界 达梦数据库的重做日志 – 良的世界 达梦数据库授予其他用户下创建表的权限 – 良的世界 达梦的回滚表空间ROLL – 良的世界 达梦数据库的作业系统 – 良的世界 Windows环境安装dmPython时报错:error: Microsoft Visual C++ 14.0 or greater is required. – 良的世界
SQL优化之注入HINT – 良的世界
shine · 2026-03-19 · via 良的世界

本文于 86 天前发布,最后更新于 86 天前

一、说明

功能说明:为 SQL 注入 HINT 规则。SF_INJECT_HINT 方法创建的 HINT 规则无生效类别限制,如果需要为该 HINT 规则设置生效类别,可通过 SF_ALTER_HINT 过程修改实现。

参数说明:
sql_text:待注入 HINT 规则的 SQL 语句。SQL 语句必须是语法正确的增删改查语句。
hint_text:待注入的 HINT 规则,必须指定为非 NULL 值。
name:HINT 规则的名称,指定为 NULL 值时系统为其命名。
description:对 HINT 规则的详细描述。
validate:HINT 规则是否生效。TRUE 是;FALSE 否。
fuzzy:指定 SQL 的匹配规则为精准匹配或模糊匹配,该参数值不能为 NULL。
当该参数缺省时,表示使用定义 1 的语法,仅支持精准匹配。
该参数类型为 BOOLEAN 时,使用定义 2 或定义 3 的语法,值为 TRUE 时,为模糊匹配;
值为 FALSE 时,为精准匹配。
精准匹配时,待注入 HINT 规则的 SQL 语句必须为语法正确的 INSERT/DELETE/UPDATE/SELECT/MERGE INTO 语句(语句以 EXPLAIN/EXPLAIN FOR 开头时,去掉 EXPLAIN/EXPLAIN FOR 后的语句必须完全正确),精准匹配要求 SQL 语句完全匹配,不支持 SQL 语句中的子查询匹配;
模糊匹配时,待注入 HINT 规则的 SQL 语句应为非 NULL 值。
该参数类型为 INT 时,使用定义 4 或定义 5 的语法,值为 0 表示精确匹配,值为 1 表示模糊匹配,值为 2 表示通过 sql_text_id精确匹配。
fuzzy 取值为 2 时,参数 sql_text 应该输入长度为 13 的 sql_text_id 字段,如果 fuzzy 取值为 2 但参数 sql_text 依旧输入 SQL 语句,预期会报错。
need_clear:是否同步清空所有缓存的计划,该参数值不能为 NULL。
当该参数缺省时,表示使用定义 1、定义 2 或定义 4 的语法,此时默认不清空缓存计划。
指定该参数时,使用定义 3 和定义 5 的语法,值为 TRUE 时,清空缓存的计划;值为 FALSE 时,模糊匹配和通过 sql_text_id 匹配时,不清空缓存的计划,需要手动清除对应 SQL 的计划后,指定的 HINT 才能生效,精确匹配时,默认会删除受影响 SQL 的计划缓存。

返回值:执行成功返回名称,执行失败报错误信息。

二、使用

--模糊匹配
SF_INJECT_HINT('SQL语句', 'HINT', 'INJECT名称', '注释', TRUE, TRUE);

注入HINT后需要清空对应SQL的计划缓存

BEGIN
    FOR RS IN (SELECT * FROM V$CACHEPLN WHERE SQLSTR LIKE '%SQL语句%') LOOP
        EXECUTE IMMEDIATE 'SP_CLEAR_PLAN_CACHE(' || RS.CACHE_ITEM || ');';
    END LOOP;
END;

查询已经注入的HINT-系统视图

SELECT * FROM SYSINJECTHINT ORDER BY CRTDATE DESC;

删除注入的HINT

SF_DEINJECT_HINT('INJECT名称');