You can translate the question and the replies:

For left join, do we need to create associations to remove not required Join

Questions for Asssociation I have one view (v) creating by one fact table (Table F) left join several dimension tables (Table A, B, C, D), I define PK for the fact and all dimesion tables. I have not defined associats for them, when I ran this: "select count(*) from v", I can see only the fact shown in the pushed down query, can I understand, for the left join, if the join key are the PK of dims, I have no need to create associations, and then the non-required dims will not be shown on my pushed down query all the time. That means, in this kind of case, no need to create associations. Thank you.
user
24-06-2020 04:12:40 -0400

2 Answers

team, any update? Am my above understanding correct? thank you.
user
 Edited on: 08-09-2020 01:28:06 -0400
Hello! Yes that is exactly right! By defining the primary keys and using them in the join condiftions, the VDP execution engine can determine if it can apply branch pruning for left outer joins in the way you have decribed them. For inner joins it would be required to define the associations even if the join conditions were based on the primary keys. These articles will give more details and example about the Branch Pruning Optimization: - [Denodo Query Optimizations for the Logical Data Warehouse - section "Single View Approach"](https://community.denodo.com/kb/view/document/Denodo%20Query%20Optimizations%20for%20the%20Logical%20Data%20Warehouse?category=Performance+%26+Optimization) - [Best Practices to Maximize Performance I: Modeling Big Data and Analytic Use Cases - section "Vertically Partitioned Views"](https://community.denodo.com/kb/view/document/Best%20Practices%20to%20Maximize%20Performance%20I%3A%20Modeling%20Big%20Data%20and%20Analytic%20Use%20Cases?category=Best+Practices) Hope this helps!
Denodo Team
01-07-2020 15:45:57 -0400
You must sign in to add an answer. If you do not have an account, you can register here