[Refactor](join) refactor of hash join (#27557)
Improve the performance under the tpch data set by reconstructing the join related code and the use of hash table Co-authored-by: HappenLee <happenlee@hotmail.com> Co-authored-by: BiteTheDDDDt <pxl290@qq.com>
This commit is contained in:
@ -196,6 +196,17 @@ void ColumnMap::insert_indices_from(const IColumn& src, const int* indices_begin
|
||||
}
|
||||
}
|
||||
|
||||
void ColumnMap::insert_indices_from_join(const IColumn& src, const uint32_t* indices_begin,
|
||||
const uint32_t* indices_end) {
|
||||
for (auto x = indices_begin; x != indices_end; ++x) {
|
||||
if (*x == 0) {
|
||||
ColumnMap::insert_default();
|
||||
} else {
|
||||
ColumnMap::insert_from(src, *x);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StringRef ColumnMap::serialize_value_into_arena(size_t n, Arena& arena, char const*& begin) const {
|
||||
size_t array_size = size_at(n);
|
||||
size_t offset = offset_at(n);
|
||||
|
||||
Reference in New Issue
Block a user