You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2015/01/13 06:57:34 UTC

[jira] [Commented] (PHOENIX-1312) Do not always project the empty column family

    [ 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)