Implement the low cardinality index (#5382)
This PR is for Summer-2022 Implement the Low Cardinality HashMap project, and the project ID is 22fa00152. This PR is implementing a low cardinality index, and will use it to optimize JOIN and GROUP BY. The design documentation has been uploaded to https://github.com/matrixorigin/docs/blob/main/design/low_cardinality_design_doc.md Co-authored-by:bRong Njam <longran1989@gmail.com>
Showing
- pkg/common/hashmap/joinmap.go 8 additions, 1 deletionpkg/common/hashmap/joinmap.go
- pkg/common/hashmap/types.go 2 additions, 0 deletionspkg/common/hashmap/types.go
- pkg/container/batch/batch.go 16 additions, 0 deletionspkg/container/batch/batch.go
- pkg/container/index/dict/dict.go 254 additions, 0 deletionspkg/container/index/dict/dict.go
- pkg/container/index/dict/dict_test.go 271 additions, 0 deletionspkg/container/index/dict/dict_test.go
- pkg/container/index/dict/reverse_index.go 163 additions, 0 deletionspkg/container/index/dict/reverse_index.go
- pkg/container/index/low_cardinality_index.go 151 additions, 0 deletionspkg/container/index/low_cardinality_index.go
- pkg/container/index/low_cardinality_index_test.go 90 additions, 0 deletionspkg/container/index/low_cardinality_index_test.go
- pkg/container/vector/vector.go 15 additions, 0 deletionspkg/container/vector/vector.go
- pkg/pb/plan/plan.pb.go 376 additions, 334 deletionspkg/pb/plan/plan.pb.go
- pkg/sql/colexec/group/group.go 57 additions, 1 deletionpkg/sql/colexec/group/group.go
- pkg/sql/colexec/group/group_bench_test.go 172 additions, 0 deletionspkg/sql/colexec/group/group_bench_test.go
- pkg/sql/colexec/group/group_test.go 72 additions, 0 deletionspkg/sql/colexec/group/group_test.go
- pkg/sql/colexec/group/types.go 3 additions, 0 deletionspkg/sql/colexec/group/types.go
- pkg/sql/colexec/hashbuild/build.go 34 additions, 1 deletionpkg/sql/colexec/hashbuild/build.go
- pkg/sql/colexec/hashbuild/build_test.go 43 additions, 0 deletionspkg/sql/colexec/hashbuild/build_test.go
- pkg/sql/colexec/hashbuild/types.go 3 additions, 0 deletionspkg/sql/colexec/hashbuild/types.go
- pkg/sql/colexec/join/join.go 134 additions, 3 deletionspkg/sql/colexec/join/join.go
- pkg/sql/colexec/join/join_bench_test.go 226 additions, 0 deletionspkg/sql/colexec/join/join_bench_test.go
- pkg/sql/colexec/join/join_test.go 101 additions, 1 deletionpkg/sql/colexec/join/join_test.go
Please register or sign in to comment