About me:Oracle ACE pro,optimistic,passionate and harmonious. Focus on ORACLE,MySQL and other database programming,peformance tuning,db design, j2ee,Linux/AIX,Architecture tech,etc
全部博文(169)
发布时间:2023-05-08 15:41:01
rownum是oracle中的一个伪列(pseudo column),其目的就是给查询出来的结果集标注行号。可以实现查询前n行(top-n),中间几行(middle-n),最后几行(bottom-n)的功能。但是rownum又是一个很特殊的列,使用过程中,首先要弄清楚oracle rownum的原理,然后加以分析。......【阅读全文】
发布时间:2023-05-08 15:33:16
? 对于不在同一层的,不能直接用HINTS来访问,比如这个例子的子查询b与a不在同一层,内部使用query block实现,诸如SEL$n,DEL$n,UPD$n,MRG$n,然后用@query_block访问,如例子中的LEADING(@"SEL$5DA710D3" "B"@"SEL$2" "A"@"SEL$1")......【阅读全文】
发布时间:2023-05-08 15:26:58
优化器不是完美的,它可能因为各种原因,未走高效的执行计划。如优化器本身缺陷:子查询里有OR走FILTER,或遇到BUG等,这时候可以通过HINTS来控制优化器生成目标执行计划。......【阅读全文】
发布时间:2023-05-07 21:58:51
很多时候,开发喜欢直接在SQL里使用HINTS,这样限制了SQL可能走更好的执行计划,修改起来也麻烦,还需要改SQL,那么有没有什么方法能够在不改SQL语句的情况下,改变带HINTS的SQL执行计划呢,答案是有的。可以使用IGNORE_OPTIM_EMBEDDED_HINTS配合SQL PROFILE来实现。......【阅读全文】
发布时间:2023-05-06 16:37:49
在做SQL性能优化时,有时候需要查看low_value,high_value的具体值,因为他们是raw类型,可以通过dbms_stats.convert_raw_value来获取具体值,可以用下面的函数获取:......【阅读全文】