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