com.lucidera.lcs
Class LcsIndexOptimizer.IndexFilterTuple
java.lang.Object
com.lucidera.lcs.LcsIndexOptimizer.IndexFilterTuple
- Enclosing class:
- LcsIndexOptimizer
public class LcsIndexOptimizer.IndexFilterTuple
- extends Object
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
index
private FemLocalIndex index
filterList
private List<LcsIndexOptimizer.SargColumnFilter> filterList
effectiveSelectivity
private Double effectiveSelectivity
LcsIndexOptimizer.IndexFilterTuple
public LcsIndexOptimizer.IndexFilterTuple(FemLocalIndex index,
List<LcsIndexOptimizer.SargColumnFilter> pointList,
List<LcsIndexOptimizer.SargColumnFilter> intervalList,
Set<LcsIndexOptimizer.SargColumnFilter> mappedFilterSet)
- Constructs a tuple (index, filters satisfiable by this index) for
each indexed column, search in pointList and intervalList to see if
that indexed column satisfies any filters. Uses prefix matching rule
with one restriction: matching stops at the first matched range
filter. Example:
point filters |
range filters |
index on |
index satisfies |
A,B,C |
|
(A,B,D,C) |
A,B |
B,C |
|
(A,B,C) |
none |
B |
A |
(A,B,C) |
A |
A,C |
B |
(A,B,C) |
A,B |
|
A,B |
(A,B,C) |
A |
- Parameters:
index
- the index to be matched with filterspointList
- list of point filtersintervalList
- list of interval filtersmappedFilterSet
- set of filters previously mapped to some other
indexes
getIndex
public FemLocalIndex getIndex()
getFilterList
public List<LcsIndexOptimizer.SargColumnFilter> getFilterList()
getEffectiveSelectivity
public Double getEffectiveSelectivity()
reCalculateEffectiveSelectivity
public void reCalculateEffectiveSelectivity(Set<LcsIndexOptimizer.SargColumnFilter> mappedFilterSet)