On executing a query, Denodo Platform would delegate the query to its sources to improve the performance. When you use a Custom wrapper (Salesforce) as a data source, the delegation of join operation is not supported.
In order to improve the query performance, I recommend you to use full cache mode over the base views and the join operation would be delegated to the cache database. As Denodo supports Incremental Queries, you could get the updated results from the Cached database.
You could refer the Knowledge Base article “[Incremental Queries in Denodo](https://community.denodo.com/kb/view/document/Incremental%20Queries%20in%20Denodo?category=Performance+%26+Optimization#h.ebmopw5tqct)” section Salesforce for the more information on implementing Incremental Queries.
Hope this helps.