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]>

Reply via email to