Vineet Garg created HIVE-24087:
----------------------------------

             Summary: FK side join elimination in presence of PK-FK constraint
                 Key: HIVE-24087
                 URL: https://issues.apache.org/jira/browse/HIVE-24087
             Project: Hive
          Issue Type: Improvement
          Components: Query Planning
            Reporter: Vineet Garg
            Assignee: Vineet Garg


If there is PK-FK join FK join could be eliminated by removing FK side if 
following conditions are met
* There is no row filtering on FK side.
* No columns from FK side is required after JOIN.
* FK join columns are guranteed to be unique (have group by)
* FK join columns are guranteed to be NOT NULL (either IS NOT NULL filter or 
constraint)

*Example*
{code:sql}
EXPLAIN 
SELECT customer_removal_n0.*
FROM customer_removal_n0
    JOIN
    (SELECT lo_custkey
    FROM lineorder_removal_n0
    WHERE lo_custkey IS NOT NULL
    GROUP BY lo_custkey) fkSide ON fkSide.lo_custkey = 
customer_removal_n0.c_custkey;
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to