You can translate the question and the replies:

Join to a cached view twice, but only fetch once

I have view emp (jdbc) and view ad (LDAP). AD is a partially cached view. We join emp.id to ad.id and it works great. Now I need to also join emp.supervisor_id to ad.id to get the supervisor information. When I look at the execution trace, it appears to do 2 different fetches from the cache. Is there a way to have it fetch from the cache only once, and re-use those results for the second join? I'm just joining them in the GUI and am taking the default execution plan.
user
04-12-2014 12:32:44 -0500

2 Answers

Hi, How did you create the join? Is it just a join between the 2 views emp and ad with a join condition like "emp.id = ad.id and emp.supervisor_id = ad.id"? In that case it should already hit the cache only once using the the default execution plan if the view is cached for all values of both id and supervisor_id. If you are adding the view ad twice to the join and using 2 separate joins then it is normal to have 2 different fetches from the cache.
Denodo Team
04-12-2014 13:17:31 -0500
There are 2 separate joins because the id is always different than the supervisor_id. I was just thinking since the join is done in memory anyway that it would be nice to fetch it only once, but join it twice since it is the same datasource.
user
04-12-2014 14:04:24 -0500
You must sign in to add an answer. If you do not have an account, you can register here