Yifan Zhang has uploaded this change for review. ( http://gerrit.cloudera.org:8080/18434
Change subject: KUDU-1644: Simplify InList predicate values based on rowset PK bounds ...................................................................... KUDU-1644: Simplify InList predicate values based on rowset PK bounds Previous we only optimize InList predicates based on tablet PK bounds, we can also optimize it at the DRS level. By adding the implicit PK bounds, InList predicate can be simplified. Also, the DRS bounds info can be used to skip rows effectively when we have a predicate on a non-prefix of the primary key and the leading column(s) have cardinality=1 (as described in KUDU-1291). Benchmark tests result(in slow mode): before Selected 10000 rows cost 2.41999 seconds. # PredicateOnFirstColumn Selected 100 rows cost 1.847989 seconds. # PredicateOnSecondColumn after Selected 10000 rows cost 1.807751 seconds. # PredicateOnFirstColumn Selected 100 rows cost 0.108024 seconds. # PredicateOnSecondColumn Change-Id: Ia9c2aa958f19a0b62e40a2ef5eb5365f91cbab80 --- M src/kudu/common/generic_iterators.cc M src/kudu/common/scan_spec.cc M src/kudu/common/scan_spec.h M src/kudu/tablet/cfile_set-test.cc M src/kudu/tablet/cfile_set.cc M src/kudu/tablet/cfile_set.h 6 files changed, 236 insertions(+), 36 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/34/18434/1 -- To view, visit http://gerrit.cloudera.org:8080/18434 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ia9c2aa958f19a0b62e40a2ef5eb5365f91cbab80 Gerrit-Change-Number: 18434 Gerrit-PatchSet: 1 Gerrit-Owner: Yifan Zhang <[email protected]>
