wangning has uploaded this change for review. ( http://gerrit.cloudera.org:8080/16674
Change subject: KUDU-1644 hash-partition based partition optimization ...................................................................... KUDU-1644 hash-partition based partition optimization Hash prune for single hash-key based inList query. Reduce the prediated values by hash-partition calculation. Table has P partitions, N records, R rowsets. Inlist predicate has V values. Before: Complexity to complete hash-key based in-list query is: V * LOG(N/R) * N After: Complexity becomes: V/P * LOG(N/R) * N E.g. Hash partition of table profile: hash(id) profile by id partitions 3, simply use mod as hash function. select * from list where id in (1,2,3,4,5,6,7,8,9,10) Before: Tablet 1: id in (1,2,3,4,5,6,7,8,9,10) Tablet 2: id in (1,2,3,4,5,6,7,8,9,10) Tablet 3: id in (1,2,3,4,5,6,7,8,9,10) After: Tablet 1: id in (0, 3, 6, 9) Tablet 2: id in (1, 4, 7, 10) Tablet 3: id in (2, 5, 8) Change-Id: I202001535669a72de7fbb9e766dbc27db48e0aa2 --- M src/kudu/common/column_predicate.h M src/kudu/common/partial_row.h M src/kudu/common/partition.h M src/kudu/common/scan_spec.cc M src/kudu/common/scan_spec.h M src/kudu/tserver/tablet_service.cc 6 files changed, 72 insertions(+), 2 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/74/16674/1 -- To view, visit http://gerrit.cloudera.org:8080/16674 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I202001535669a72de7fbb9e766dbc27db48e0aa2 Gerrit-Change-Number: 16674 Gerrit-PatchSet: 1 Gerrit-Owner: wangning <[email protected]>
