Oracle数据库有很多隐藏的参数配置文件,hint这些基本上属于不太会用到,但某些可以加入到代码中临时改变session参数。达到避免错误执行计划的效果, 仅列出几个第一次遇见的和链接
1. 隐藏配置参数, 特点以 “_”下划线开头,+作用点(optimizer,db etc),+ 实际控制属性 + enabled(开关)
alter system set “_optimizer_cartesian_enabled”=FALSE [scope=spfile] ; --避免执行 笛卡尔积
alter system set “_optimizer_mjc_enabled”=FALSE [scope=spfile] ; --避免执行 merge join 笛卡尔积
hint 方法修改参数 /*+ OPT_PARAM('_optimizer_mjc_enabled','false') */,顺便提一下强悍的OPT_PARAM,这玩意可以让你在SQL级别通过加HINT的方式来调整单个SQL执行的时候所依赖的系统参数的值,相当强悍。这个是 10.2版本新引进的参数,至于哪些参数可以在这个HINT中设置,我也不知道,不过估计SESSION级别的参数应该都可以的。
refer to :http://www.dba-oracle.com/art_so_undoc_parms_p2.htm;
https://logicalread.com/oracle-11g-top-13-undocumented-initialization-parameters-mc02/#.XXmXSPkzaUn;
http://www.orafaq.com/parms/index.htm;
2. 隐藏hint
/* OPT_DYN_SAMP */ --动态执行统计信息