一、 问题背景与适用场景 什么是后半有序?如果数据集T已经按字段a、b有序,现在我们要将T按b排序或分组时,因为在a值相同的段内,b都是有序的,这种要排序或分组的字段在分段内...
一、 问题背景与适用场景 什么是后半有序?如果数据集T已经按字段a、b有序,现在我们要将T按b排序或分组时,因为在a值相同的段内,b都是有序的,这种要排序或分组的字段在分段内...
一、 问题背景与适用场景 在对数据集进行排序运算时,有时会遇到这样一种场景:数据集T已经按字段a有序,而字段b无序,现在我们要将T按a、b排序,我们称之为前半有序(a有序)的...
一、 问题背景与适用场景 通常分组计算都采用hash方案,即先计算分组字段的hash值,hash值相同的记录被分拣到一个小集合里,然后在这个小集合中遍历找分组字段值相同的聚合...
一、 问题背景与适用场景 在《性能优化技巧:小事实表与大维表关联[http://c.raqsoft.com.cn/article/1583209591047]》中,我们尝试了...
一、 问题背景与适用场景 在主子表关联查询中,有时会遇到这样一种情况:按条件过滤后的事实表数据量很小,能够全部装载进内存或仅比内存略大一点;而要关联的维表数据量很大,比内存要...
一、 问题背景与适用场景 在《性能优化技巧:有序归并[http://c.raqsoft.com.cn/article/1577153335610]》中我们见证了有序归并算法提...
在事实表与维表的关联查询时,常常会遇到需要对维表的数据进行过滤或者针对维表做计算的情况,这时可以有两种处理方式: 1、先做关联(如果是内存则可以是预关联),再对关联后的事实表...
一、 问题背景与适用场景 在以前的文章中我们介绍过,关系数据库在进行表间关联时是使用HASH分段技术。设两个关联表的规模(记录数)分别是 N 和 M,则 HASH 分段技术的...
【摘要】 用实例、分步骤,实践目标 本期目标,是在完成数据类型转化基础上,实现维度排序压缩,进一步提升计算速度。 实践的步骤: 1、 准备基础宽表:修改上期的代码,完成维度排...
【摘要】用实例、分步骤,详细讲解多维分析(OLAP)的实现。 实践目标 本期目标是练习将数据库读出的数据,尽可能转换为有利于性能优化的数据类型,例如:小整数和浮点数。 实践的...
一、 问题背景与适用场景 在《性能优化技巧:部分预关联》一文中,我们介绍了将维表内存化并预关联的技术,但事实表与维表关联时,仍需进行hash计算和比对,怎么提高这一步的性能呢...
一、 问题背景与适用场景 在《性能优化技巧:预关联》中,我们测试了将数据表事先全部加载进内存并做好关联后的查询性能优化问题,但如果内存不够大,不能将维表和事实表全部装入,那怎...
一、 问题背景与适用场景 SQL中JOIN的性能是个老大难问题,特别是关联表较多时,计算性能会急剧下降。 SQL实现JOIN一般是采用HASH分堆的办法,即先计算关联键的HA...
TopN是常见的运算,用SQL写出来是这样(以Oracle为例): select * from (select * from T order by x desc) where...
我们知道,大数据运算性能的瓶颈常常是在外存(也就是硬盘)IO上,因为外存访问性能要比内存低一两个数量级。因此,做性能优化时,减少硬盘的访问量有时要比减少CPU计算量更为重要。...
【摘要】 用实例、分步骤,详细讲解多维分析(OLAP)基础宽表的实现。 实践目标 本期目标是练习如何搭建多维分析后台的基础宽表,并通过 SPL 和 SQL 访问基础宽表。 实...
【摘要】 有序运算是指按照一定的次序对有序集合的成员进行计算。SQL 和 SPL 是大家比较熟悉的程序语言,本文将探讨对于有序运算问题,这两种语言的解决方案和基本原理。如何简...
【摘要】 多维分析(OLAP)中常见的枚举维度切片(过滤条件 in)和二值维度(是否型过滤条件)如何优化?点击了解枚举维度与二值维度切片的优化[https://link.zh...
【摘要】 循环运算是指按照一定的次序对集合的成员进行计算。除了在循环中访问当前成员、对成员赋值等简单的计算,还有在循环中进行跨行计算、嵌套循环、迭代运算等复杂需求。如何简便快...