[ 
https://issues.apache.org/jira/browse/PHOENIX-17?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Taylor updated PHOENIX-17:
--------------------------------
    Summary: Use non fully covered global index when selectivity is low  (was: 
Support to make use of partial covered indexes in scan)

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

Reply via email to