From e9debca97c69cc7ebf970f2c8b170975b2964730 Mon Sep 17 00:00:00 2001 From: lihangyu <15605149486@163.com> Date: Thu, 30 Nov 2023 09:47:31 +0800 Subject: [PATCH] [Improve](sort) avoid too may tmp vectors for get_columns (#27734) --- be/src/vec/common/sort/heap_sorter.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/be/src/vec/common/sort/heap_sorter.cpp b/be/src/vec/common/sort/heap_sorter.cpp index 71c66b9cd0..d702cbaca2 100644 --- a/be/src/vec/common/sort/heap_sorter.cpp +++ b/be/src/vec/common/sort/heap_sorter.cpp @@ -147,8 +147,9 @@ Status HeapSorter::prepare_for_read() { for (int i = capacity - 1; i >= 0; i--) { auto rid = vector_to_reverse[i].row_id(); const auto cur_block = vector_to_reverse[i].block(); + Columns columns = cur_block->get_columns(); for (size_t j = 0; j < num_columns; ++j) { - result_columns[j]->insert_from(*(cur_block->get_columns()[j]), rid); + result_columns[j]->insert_from(*(columns[j]), rid); } } _return_block = vector_to_reverse[0].block()->clone_with_columns(std::move(result_columns));