From c0a4b5422983d5da1bfa13c6e76be42fcd86cfbc Mon Sep 17 00:00:00 2001 From: adofsauron Date: Mon, 26 Sep 2022 18:04:23 +0800 Subject: [PATCH] fix(tianmu): The current version does not enable multithreaded aggregation optimization, Here's why: Currently, for multi-thread parallel, it is not completely carried out to the physical layer, for DPN and PACK data structure, because the underlying physical block processing for multi-thread from the data structure support is missing, when a multi-thread switch occurs, the data that has been read out is reset. More time is needed to support parallel read IO across multiple threads from the underlying data structures, which is not available in the current version, so we plan to start the second phase of the multi-thread read IO process completely. --- storage/tianmu/core/aggregation_algorithm.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/tianmu/core/aggregation_algorithm.cpp b/storage/tianmu/core/aggregation_algorithm.cpp index 356fab6f9..7f3e4485b 100644 --- a/storage/tianmu/core/aggregation_algorithm.cpp +++ b/storage/tianmu/core/aggregation_algorithm.cpp @@ -194,7 +194,7 @@ void AggregationAlgorithm::Aggregate(bool just_distinct, int64_t &limit, int64_t } } else { int64_t local_limit = limit == -1 ? upper_approx_of_groups : limit; - MultiDimensionalGroupByScan(gbw, local_limit, offset, sender, limit_less_than_no_groups, true); + MultiDimensionalGroupByScan(gbw, local_limit, offset, sender, limit_less_than_no_groups, false); if (limit != -1) limit = local_limit; } t->ClearMultiIndexP(); // cleanup (i.e. regarded as materialized,