How to reduce bind duration using JSON
Question
Application Type
Reactive

Hi,

I am consuming REST API which contains more than 20,000 Records and it takes more than 40 seconds to bind to table widget.

Is it any way to reduce this time. I want to bind json data in minimum time [less than 10 seconds] . 

In OnReady I called Server Action which contains REST API. 

thanks

Hi Khris.


I think the best solution is to paginate your query. If your REST API does not have a pagination feature you can do it in server side after the data fetch.


You can also try to use this component to improve your performance, but there's no magic. You are loading a lot of data and it will take some time to the browser to load everything to you.

https://www.outsystems.com/forge/component-overview/9764/data-grid-reactive


Cheers

mvp_badge
MVP

Hi Khris,


You definitely want to use pagination, just having 20,000 records in a screen doesn't do anything for a user. 

Ideally your REST API allows you to get paginated records and / or filtering, allowing you to fetch only let's say 20 each page, diminishing the payload and thus increasing performance.


If the information doesn't change often, you might want to consider saving it in the OutSystems database like a cold cache which is processed asynchronously on off-peak hours. In this way, reading that data would be faster and easier.


Kind Regards,
João

Hi João Marques,

Yes I am using Pagination. 

But I don't know how to use "cold cache"? 



mvp_badge
MVP

Hi Khris,


Caching is nothing more than a mechanism to save the data in a temporary storage, aka cache, that is faster to access than the original storage. In this case, an OutSystems entity would be your temporary storage while your the third party from which you access data now with the REST API is the original storage.

The words cold and hot cache just refer to the fact that data needs to be refreshed more rarely or more often, respectively.

Being that said, a multi-layer caching strategy is tight with the business requirements and should be implemented per use case, so it's hard to advise you on a concrete way of doing things without knowing the business requirements. You can read more in detail how to optimize data for your use cases using cache strategies here.


Kind Regards,
João

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.