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
全部博文(163)
发布时间: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子句共同决定,分析函数就根据这个范围来计算当前行的值。......【阅读全文】
发布时间:2020-06-30 09:00:12
Model查询功能,可以对查询的数据当作多维数组 来处理,然后将规则应用于这些数组来计算新值,这些规则可以是复杂的相互依赖的计算。与外部解决方案相比,通过将高级计算集成到数据库中,可以大幅度提升性能、可伸缩性以及可管理性。用户可以将数据保留在 Oracle 环境内,而无需将数据复制到单独的应用程序或 PC 电子表格中。
MODEL就是行间计算,可以对某些行跨越某些维度按指定的公式计算新的单元格值,和扩展GROUP BY有所不同,扩展GROUP BY目的是多维度分组,然后生成小计和合计,而MODEL是行间计算,根据规则和公式生成有行间关系的单元格值。 ......【阅读全文】