cancel
Showing results for 
Search instead for 
Did you mean: 

XSA oData Parallel / not one by one

matma24
Participant
0 Kudos
325

Hello!

In one of my app I have to allow user to load CSV (can be anywhere between 100-100k rows) and load it to the table in HANA ... doing some transformation in node/xsjs/sql.

UI5 part is relatively simple as it's just oModel.create ....

The problem comes with oData service itself. When I call oData (create) I am executing some SQL procedure that has some logic and inserts data into a table, what is weird for me is -> this is happening "one by one" instead of simple batch loading.

Which basically means that there is only one active statement that calls the procedure, it waits for finish and repeat it for another row. Is there any way to speed it up for example by calling this procedure X times in parallel ? (I know i could sent CSV file but I will have exactly the same problem for another data set where CSV sending won't be possible).

Procedure itself takes ~20MS but sending 1k rows is taking 45sec at this moment...

Would be very grateful for any tips 🙂

Best regards

Accepted Solutions (0)

Answers (1)

Answers (1)

evanireland
Product and Topic Expert
Product and Topic Expert
0 Kudos

Sorry I can't answer regarding parallel processing, but does the performance improve if you use an OData $batch?

https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#_Toc31359024

matma24
Participant
0 Kudos

Unfortunately not (I've tried batches, no batching and deferred group ) ... It still seems that it's going one by one so basically it will call this procedure 1k times (if I'm sending 1k POST requests) in sequential order ... which basically means that it will execute it for first request, wait for finish and go with another request which will give me terrible runtime.