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
全部博文(166)
发布时间:2022-04-10 21:10:33
对lob处理还不太熟悉,看网上有人问就写了个,lob类型处理起来的确很麻烦......
发布时间:2022-04-10 21:08:24
扩展group by 分组中rollup,配合grouping_id,组合分组解决统计需求的一个例子。......
发布时间:2022-04-10 21:06:15
1.子查询结果集小,用in
2.外表小,子查询表大,用exists
这是完全错误的观点。在8i时代,这经常是正确的,但是现在已经11g了,马上12c就要面世了。其实在oracle 9i cbo就已经优化了in,exists的区别,oracle优化器有个查询转换器,很多sql虽然写法不同,但是oracle优化器会根据既定规则进行查询重写,重写为优化器觉得效率最高的sql,所以可能sql写法不同,但是执行计划却是完全一样的。......
发布时间:2020-07-13 09:09:06
merge操作可以用一条语句实现update和insert,而且它比传统的关联子查询可能效率更好,避免了filter操作,可以走hash join操作,适合大批量关联更新......
发布时间:2020-06-30 17:01:45
分析函数是什么??分析函数是带over的,对每行都应用分析函数,然后分析函数根据排序规则(没有排序就是没有顺序的规则,order by就是起到一个分析函数在行上滑动方向的作用)按行向下滑动,直到全部行应用分析函数完毕则分析函数结束。分析函数的计算是在当前行所属的窗口上(这个是一个结果集,每行对应的窗口总是有一个结果集)进行的,每行对应的窗口范围是由partition,order by和window子句共同决定,分析函数就根据这个范围来计算当前行的值。......