Decision support queries typically involve several joins, a grouping with aggregation, and/or sorting of the result tuples. We propose two new classes of query evaluation algorithms that can be used to speed up the ex...
详细信息
Decision support queries typically involve several joins, a grouping with aggregation, and/or sorting of the result tuples. We propose two new classes of query evaluation algorithms that can be used to speed up the execution of such queries. The algorithms are based on (1) earlysorting and (2) earlypartitioning - or a combination of both. The idea is to push the sorting and/or the partitioning to the leaves, i.e., the base relations, of the query evaluation plans (QEPs) and thereby avoid sorting or partitioning large intermediate results generated by the joins. Both earlysorting and earlypartitioning are used in combination with hash-based algorithms for evaluating the joints) and the grouping. To enable earlysorting, the sort order generated at an early stage of the QEP is retained through an arbitrary number of so-called order-preserving hashjoins. To make earlypartitioning applicable to a large class of decision support queries, we generalize the so-called hash teams proposed by Graefe et al. [GBC98]. Hash teams allow to perform several hash-based operations (join and grouping! on the same attribute in one pass without repartitioning intermediate results. Our generalization consists of indirectly partitioning the input data. indirect partitioning means partitioning the input data on an attribute that is not directly needed for the next hash-based operation, and it involves the construction of bitmaps to approximate the partitioning for the attribute that is needed in the next hash-based operation. Our performance experiments show that such QEPs based on earlysorting, earlypartitioning, or both in combination perform significantly better than conventional strategies for many common classes of decision support queries.
暂无评论