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)