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)
发布时间:2020-06-01 08:48:55
简单的GROUP BY,用过SQL的应该很熟悉了,通过GROUP BY子句指定相关列,就可以得到对应分组的聚合结果,对于每个分组只返回一行结果,可以计算SUM,MIN,MAX,AVG等。然而在实际应用中,比如在数据仓库系统中,经常需要对数据进行多维分析,不仅需要标准分组的结果(相当于简单GROUP BY),还需要不同维度的小计(简单GROUP BY中取部分列分组)和合计(不分组),从而提供多角度的数据分析支持,对于这种复杂分组需求,简单GROUP BY就很难达到这种目的,当然,我们可以使用UNION或UNION ALL将不同维度的分组结果联合起来,但是性能往往不好,而且SQL编写相对来说也复杂多了......【阅读全文】
发布时间:2020-06-01 08:14:03
简单的GROUP BY,用过SQL的应该很熟悉了,通过GROUP BY子句指定相关列,就可以得到对应分组的聚合结果,对于每个分组只返回一行结果,可以计算SUM,MIN,MAX,AVG等。然而在实际应用中,比如在数据仓库系统中,经常需要对数据进行多维分析,不仅需要标准分组的结果(相当于简单GROUP BY),还需要不同维度的小计(简单GROUP BY中取部分列分组)和合计(不分组),从而提供多角度的数据分析支持,对于这种复杂分组需求,简单GROUP BY就很难达到这种目的,当然,我们可以使用UNION或UNION ALL将不同维度的分组结果联合起来,但是性能往往不好,而且SQL编写相对来说也复杂多了......【阅读全文】
发布时间:2014-09-23 23:09:12
TABLE函数在SQL中使用,可以将传入的集合转为普通表使用,与管道函数结合使用,往往能够提高效率,然后在实际应用过程中,发现CBO对TABLE函数的启发式基数估算,往往会导致性能问题。以下SQL虽然单条运行很快,但是运行非常频繁,严重消耗CPU资源。......【阅读全文】
发布时间:2014-01-01 18:49:34
在ORACLE里,一般认为''与NULL是等价的,除了一些特别的语法,比如有id is null,但是没有id is '',以及''作为字符类型的特殊性,在decode等函数要求类型匹配的时候,与NULL可能不等价。本篇文章主要说明下''与NULL在SQL优化器中也有很大的区别,如果不了解这个区别,很可能SQL语句的性能,将要陷入灾难境地。......【阅读全文】