You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Maryann Xue (JIRA)" <ji...@apache.org> on 2015/11/06 03:02:27 UTC
[jira] [Updated] (PHOENIX-2167) Add new interface in QueryPlan for
pushing down a limit value.
[ https://issues.apache.org/jira/browse/PHOENIX-2167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maryann Xue updated PHOENIX-2167:
---------------------------------
Labels: calcite (was: )
> Add new interface in QueryPlan for pushing down a limit value.
> --------------------------------------------------------------
>
> Key: PHOENIX-2167
> URL: https://issues.apache.org/jira/browse/PHOENIX-2167
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: Maryann Xue
> Assignee: Maryann Xue
> Labels: calcite
> Attachments: PHOENIX-2167.patch
>
> Original Estimate: 48h
> Remaining Estimate: 48h
>
> Calcite rel trees are compiled bottom-up into Phoenix QueryPlans, the easiest way to implement a Limit RelNode in the tree is to create a ClientScanPlan with the limit value and wrap it around the inner plan. However, oftentimes this may not be efficient.
> For example, select * from T limit 10, the original Phoenix compiler would generate a ScanPlan with limit 10, apply a PageFilter and avoid using sophisticated or expensive ResultIterators.
> So it would make sense to push down the limit to a QueryPlan as low as possible and create a new copy of the plan based on this rule.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)