[
https://issues.apache.org/jira/browse/PHOENIX-17?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14150955#comment-14150955
]
Lars Hofhansl commented on PHOENIX-17:
--------------------------------------
You mean when selectivity is *high*? :)
(If it's low you need the covered one)
> Use non fully covered global index when selectivity is low
> ----------------------------------------------------------
>
> Key: PHOENIX-17
> URL: https://issues.apache.org/jira/browse/PHOENIX-17
> Project: Phoenix
> Issue Type: Improvement
> Reporter: rajeshbabu
>
> Normally when we want to use secondary indices we create index on one or very
> few
> columns of interest in query conditions. Index may not contain all the
> columns to retrieve.
> Currently Phoenix supporting full covered indexes only(where all or most of
> the columns
> should be in the index in many cases). When we run a query we will choose to
> scan from user table
> or index table based on condition that whether all projected columns in the
> index or not.
> This approach may have some disadvantages mainly in case of wider tables.
> 1)If we did just store all the columns in the index, then it would be just
> like creating another copy of the entire table
> – which would take up way too much space and would be very inefficient for
> wider tables.
> 2) Some times if user creates index on few columns and observes that index is
> not getting used
> and then he need to add all the projected columns to index(may be to the part
> of index or included columns).
> which is something like we are exposing design decisions to the users,
> especially when we already
> target to simplify user's experience by giving SQL on top of a noSQL DB.
> 3) One more thing is as of now if we have an index table contains all
> projected columns in the
> query then we are simply scanning index table only.This can also become full
> table scan when we don't
> have any condition in the query or condition on non primary key column of
> index.
> Some times this might give bad performance than normal table full scan.
> This JIRA is to support making use of partial covered indexes to avoid full
> table scan.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)