在不能修改sql的情况下优化或者调整查询结果 query_rewrite 查询重写 常用的几个场景: 首先是性能优化,这是最常用的场景;然后是数据安全,比如多租户隔离和SQL注入防护;接着是系统维护和业务适配 方面的应用。 https://docs.oracle.com/cd/B13789_01/appdev.101/b10802/d_advrwr.htm#996728 首先需要的权限: grant execute on dbms_advanced_rewrite to zc; grant create materialized view to zc; 首先需要赋予用户相关的权限,我的测试环境是dba用户,测试中发现缺什么权限再赋权即可 测试过程: 原始sql: select * from char_test2; 查询结果: ID NAME_CHAR 1 王玮 希望替换成的sql: select CASE a.id WHEN 1 THEN TO_NCHAR('王玮') || (select name_nchar from char_test where id=1) ELSE TO_NCHAR(a.name_char) END as xingming from char_test2 a; 查询结果: XINGMING 1 王玮???? 执行替换 跳过查询重写(Query Rewrite)的语义验证,让 Oracle 直接应用重写规则,不检查重写后的 SQL 是否与原始 SQL 语义等价。 SQL> ALTER SESSION SET QUERY_REWRITE_INTEGRITY = TRUSTED; Session altered SQL> BEGIN 2 SYS.DBMS_ADVANCED_REWRITE.DECLARE_REWRITE_EQUIVALENCE ( 3 name => 'test_rewrite', 4 source_stmt => 'SELECT TO_NCHAR(NAME_CHAR) FROM char_test2', 5 destination_stmt => 'SELECT 6 CASE 7 WHEN a.id = 1 THEN TO_NCHAR(''王玮'') || (SELECT name_nchar FROM char_test WHERE id = 1) 8 ELSE TO_NCHAR(a.name_char) 9 END AS name_char 10 FROM char_test2 a', 11 validate => FALSE 12 ); 13 END; 14 / PL/SQL procedure successfully completed 新的查询结果: SQL> SELECT TO_NCHAR(NAME_CHAR) FROM char_test2; TO_NCHAR(NAME_CHAR) -------------------------------------------------------------------------------- 王玮????
query_rewrite 查询重写
来源:这里教程网
时间:2026-03-03 22:55:05
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 【服务器数据恢复】华为云Stack虚拟化快照损坏导致民生数据丢失数据恢复案例
- 国际配售超额认购40余倍,创新实业“高成长+现金牛”双爆点
国际配售超额认购40余倍,创新实业“高成长+现金牛”双爆点
26-03-03 - 实战系列之向量索引覆盖字段优化
实战系列之向量索引覆盖字段优化
26-03-03 - 数据库管理-第389期 Oracle SQLcl MCP Server实战(20251113)
- 走向全球,安得智联如何为中国制造打造新通路
走向全球,安得智联如何为中国制造打造新通路
26-03-03 - 福禄克公司发布新品 | GFL-1500光伏系统接地故障定位仪
福禄克公司发布新品 | GFL-1500光伏系统接地故障定位仪
26-03-03 - 想拥有一个属于自己的网络空间吗?个人网站就是你的数字名片
想拥有一个属于自己的网络空间吗?个人网站就是你的数字名片
26-03-03 - 长城汽车填补全球技术空白 Hi4荣获科学技术奖特等奖
长城汽车填补全球技术空白 Hi4荣获科学技术奖特等奖
26-03-03 - 数据库管理-第390期 Ollama如何正常调用AMD GPU(20251114)
- 爱奇艺财报“潜台词”:如何服务内容新时代
爱奇艺财报“潜台词”:如何服务内容新时代
26-03-03
