How to approach for deleting lots of records from database with less time consuming
Application Type
Traditional Web, Mobile, Reactive, Service
Service Studio Version
11.10.13 (Build 39571)

Hello all,

Hope doing good. I want to delete one hudress thousand and more of records from table. But user will not wait for all records get deleted. I want to make this process asynchronous. How it will be possible for all application type


Thank you

mvp_badge
MVP
Solution

Hello there PSS,

Hope you're doing well.


You can create and schedule a Timer to be executed asynchronously.

Please consider to follow this documentation: https://success.outsystems.com/Documentation/11/Developing_an_Application/Use_Timers/Create_and_Run_Timers


Since you're doing this programatically, please consider to do this delete using an SQL Query:


This way will execute a bulk delete and it is way more performant to delete data than to do it for example using a for each cycle and deleting only one record per iteration.


Hope that this helps you!


Kind regards,

Rui Barradas

Hi Rui,

Thank you and i agree with answer but actually the thing is like that. There is button "Delete" and user will click on this but for deleting one hundred thousand and more than this no. of records. As he click on delete button the deleting process will start. But to delete these no. of records it will take a time( may be 10 minutes). User will not wait for 10 minutes to get delete these records. He want quick delete and process should be asynchronous, background process should start. So, how we can achieve this?  

Champion

Hi PSS,

If you want to do this asynchronously, then Rui's answer is right. You can use a timer to achieve.

Also, If possible consider use SQL to delete data.

Kind regards


Hi, 

Thank you, i agree with rui but i update the problem statement. please guide

Hi PSS

To do this in one module, first, you need to create a public action on each module that you have the entities you want to clean the info with the advanced SQL as already mentioned. 

Then create a new module and reference all actions of all modules you want to clean. Then create a timer and inside used all those actions that you created.

In this way, you have your asynchronous action created as expected.

Also, check the Rui Barradas link for further info.

Hope it helps

Regards

Gonçalo Almeida


Hi, 

Thank you, i agree with rui but i update the problem statement. please guide

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