You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/11/07 21:44:00 UTC

[jira] [Commented] (PHOENIX-4288) Indexes not used when ordering by primary key

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

ASF GitHub Bot commented on PHOENIX-4288:
-----------------------------------------

GitHub user maryannxue opened a pull request:

    https://github.com/apache/phoenix/pull/281

    PHOENIX-4288 Indexes not used when ordering by primary key

    1. Add class Cost.
    2. Add method getCost() in QueryPlan.
    3. Let QueryOptimizer choose the best plan based on Cost; meanwhile if stats are not available the QueryOptimizer will keep the original behavior.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/maryannxue/phoenix phoenix-4388

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/phoenix/pull/281.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #281
    
----
commit f75c1b095683c153f8749107c5505304309dcb36
Author: maryannxue <ma...@gmail.com>
Date:   2017-11-07T21:40:37Z

    PHOENIX-4288 Indexes not used when ordering by primary key

----


> Indexes not used when ordering by primary key
> ---------------------------------------------
>
>                 Key: PHOENIX-4288
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4288
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: Marcin Januszkiewicz
>            Assignee: Maryann Xue
>              Labels: CostBasedOptimization
>
> We have a table
> CREATE TABLE t (
>   rowkey VARCHAR PRIMARY KEY,
>   c1 VARCHAR,
>   c2 VARCHAR
> )
> which we want to query by doing partial matches on c1, and keep the ordering of the source table:
> SELECT rowkey, c1, c2 FROM t where c1 LIKE 'X0%' ORDER BY rowkey;
> We expect most queries to select a small subset of the table, so we create an index to speed up searches:
> CREATE LOCAL INDEX t_c1_ix ON t (c1);
> However, this index will not be used since Phoenix will always choose not to resort the data.
> In our actual use case, adding index hints is not a practical solution.
> See also discussion at:
> https://lists.apache.org/thread.html/26ab58288eb811d2f074c3f89067163d341e5531fb581f3b2486cf43@%3Cuser.phoenix.apache.org%3E



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)