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 2018/02/17 00:54:11 UTC

[jira] [Created] (PHOENIX-4618) Optimize out order-by on sort-merge-join when possible

Maryann Xue created PHOENIX-4618:
------------------------------------

             Summary: Optimize out order-by on sort-merge-join when possible
                 Key: PHOENIX-4618
                 URL: https://issues.apache.org/jira/browse/PHOENIX-4618
             Project: Phoenix
          Issue Type: Improvement
            Reporter: Maryann Xue
            Assignee: Maryann Xue


To do this, \{{OrderPreservingTracker}} relies solely on primary keys for inferring alignment between order-by expressions and the input sortedness. To implement this improvement, we need to have extra information of sortedness which supports equivalent sorted expressions. For example,
{code}SELECT * FROM T1 JOIN T2 ON T1.a = T2.a and T1.b = T2.b{code}
The result of the sort-merge-join is sorted on (T1.a, T1.b) and (T2.a, T2.b) at the same time.
Thus, both 1)
{code}SELECT * FROM T1 JOIN T2 ON T1.a = T2.a and T1.b = T2.b ORDER BY T1.a, T1.b{code}
and 2)
{code}SELECT * FROM T1 JOIN T2 ON T1.a = T2.a and T1.b = T2.b ORDER BY T2.a, T2.b{code}
should avoid doing an extra order-by after the sort-merge-join operation.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)