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

James Taylor commented on PHOENIX-76:
-------------------------------------

Thanks, [~lhofhansl]. That'll help [~anoop.hbase] in figuring out the default 
rules for when to use the new filter.

bq. What would really help is if we could make sure that canonical column 
(right now it's "_", which sorts after capital letters) would always sort 
first... I.e. call it "$" or "!" or something. That should double the 
performance of count(1) for example.

FYI, we rarely project the canonical column, it's there mainly to ensure a row 
still gets returned when a column is selected by not filtered. For the count(1) 
case, we use the FirstKeyOnlyFilter().

> Fix perf regression due to PHOENIX-29
> -------------------------------------
>
>                 Key: PHOENIX-76
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-76
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: James Taylor
>            Assignee: Anoop Sam John
>             Fix For: 3.0.0
>
>         Attachments: PHOENIX-76.patch
>
>
> Many queries got slower as a result of PHOENIX-29. There are a few simple 
> checks we can do to prevent the adding of the new filter:
> - if the query is an aggregate query, as we don't return KVs in this case, so 
> we're only doing extra processing that we don't need. For this, you can check 
> statement.isAggregate().
> - if there are multiple column families  referenced in the where clause, as 
> the seek that gets done is better in this case because we'd potentially be 
> seeking over an entire stores worth of data into a different store.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to