Consider you have created a new integration with an external SQL Server database in Integration Builder and you will use several Entities from that database in your apps. Which of the following actions cannot be performed using these external Entities?
A) Use an external Entity as the Output/Structure of an Advanced SQL element.
B) Create an Aggregate with an external Entity as Source on a Screen and use its output as the Source of a Table widget.
C) Create a Join between an external Entity and an Entity defined in your application.
D) Use the Create or Delete Entity Actions to create or delete records from the external Entity.
Hi Ranjith,
Correct option C.
Because we canāt join between external DB entity and an entity exist in outsystem application.
I have tried other options are applicable and yes we can performed.
Thank,
Amit
Hello @Ranjith Ravi,
As per your question, option C is the correct one. However, it is not recommend and not a good practice do it, since it will impact the performance of your application. Please refer this documentation to learn more about best practices.
https://success.outsystems.com/documentation/best_practices/performance_and_monitoring/performance_best_practices_queries/?
Thanks,
Sachin
Yeah @Sachin Waghmare, I was thinking the same and got confused which one will be the right.
Ranjith
Before asking a question, first search for the answer. This question has been asked multiple times, and is also documented by OutSystems, the answer is C. The reason is that OutSystems cannot efficiently query and join data from two different databases, therefore requiring a full table scan. That result in a very slow performance as soon as tables have a significant number of records.
It is therefor suggested to maintain a form of cold-cache of your external data in one or more OutSystems entities. This allows you to join your OutSystems data with the external data that you synchronized to your cold cache.
Older posts with the same question:
Regards,
Daniel