[
https://issues.apache.org/jira/browse/PHOENIX-3667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Taylor updated PHOENIX-3667:
----------------------------------
Description: The client side of Phoenix determines the subclass of
BooleanExpressionFilter we use based on how many column families and column
qualifiers are being referenced. The idea is to minimize the lookup cost during
filter evaluation. For encoded columns, instead of using a Map or Set, we can
create a few new subclasses of BooleanExpressionFilter that use an array
instead. No need for any lookups or equality checks - just fill in the position
based on the column qualifier value instead. Since filters are applied on every
row between the start/stop key, this will improve performance quite a bit.
(was: The client side of Phoenix determines the subclass of
BooleanExpressionFilter we use based on how many column families and column
qualifiers are being referenced. The idea is to minimize the lookup cost during
filter evaluation. For encoded columns, instead of using a Map or Set, we can
use an array. No need for any lookups or equality checks - just fill in the
position based on the column qualifier value instead. Since filters are applied
on every row between the start/stop key, this will help quite a bit.)
> Optimize BooleanExpressionFilter for tables with encoded columns
> ----------------------------------------------------------------
>
> Key: PHOENIX-3667
> URL: https://issues.apache.org/jira/browse/PHOENIX-3667
> Project: Phoenix
> Issue Type: Improvement
> Reporter: James Taylor
> Assignee: Samarth Jain
>
> The client side of Phoenix determines the subclass of BooleanExpressionFilter
> we use based on how many column families and column qualifiers are being
> referenced. The idea is to minimize the lookup cost during filter evaluation.
> For encoded columns, instead of using a Map or Set, we can create a few new
> subclasses of BooleanExpressionFilter that use an array instead. No need for
> any lookups or equality checks - just fill in the position based on the
> column qualifier value instead. Since filters are applied on every row
> between the start/stop key, this will improve performance quite a bit.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)