[ 
https://issues.apache.org/jira/browse/PHOENIX-1312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14274760#comment-14274760
 ] 

James Taylor commented on PHOENIX-1312:
---------------------------------------

Since the empty column family is always projected (see code in the constructor 
of BaseResultIterators), we only ever use that one. This is a shame, as we 
maintain stats for each column family, but never use them. The fix is to not 
project the empty column family unless necessary. Detecting when it's necessary 
has become quite a bit easier. We only need to project everything if:
- there's no WHERE clause or
- the WHERE clause expression.requiresFinalEvaluation() returns true

This will make a big perf difference when there are multiple column families. 
We'll need to make sure to add tests around this as well. Now that you're 
finished with PHOENIX-1453, can I assign this one to you, [~ramkrishna]?

> Do not always project the empty column family
> ---------------------------------------------
>
>                 Key: PHOENIX-1312
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1312
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>
> Often times, we don't need to, but it seems we always are. See 
> MultiCfQueryExecIT.testGuidePostsForMultiCFs() where we run a query like this:
> {code}
> SELECT count(*) FROM multi_cf WHERE e.cpu_utilization IS NOT NULL
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to