Hi Dojo,
Currently, the driver is deleting a part of the total rows at once, which is taking too much time and causing an RTE to pop up. We have already logged the times and the amount of rows to be deleted:
As you saw, the amount of rows to be deleted is over 50,000.
The way we are doing it is:
protocol.DeleteRow(Parameter.Cmqamdschannels.tablePid, keysToRemove);
My question is if there is another way to delete rows so it won't stay a lot of time doing it.
Thanks.
Hi Sergio,
There isn't any faster way (at least that I can think of) to remove keys other than repopulating the table or clearing all keys like Edib or Michiel has mentioned.
if the intention is to avoid going into RTE when deleting rows, maybe you can delete them in smaller chunks to avoid the DeleteRow from taking too long. example deleting in groups of 5000 rows.
Hello Frans,
I already tried that, and even with 5000 rows it is taking more than 8 minutes
I see that the initial attempt took about 15mins so there is definitely an improvement with the smaller amount of keys.
If I am not mistaken the SLProtocol/SLNet calls should not exceed 15K rows at a single time. so could you try adjusting try increasing/decreasing the keys to see if you can get better results.
if that still does not help, maybe check with software
Hi Sergio
When you want to clear the entire table, the most efficient would be to use the Action clear in the XML: clear | DataMiner Docs
If you are in a QAction, you can call 'protocol.CheckTrigger(id);'. Then have a trigger with that id that triggers that Action. This way you don't need to retrieve all the keys in the QAction.
Hi Michiel,
I think I wasn’t clear with my question. I am not trying to delete all rows nor clear the full table; I am trying to delete some rows.
As you can see in the screenshot, the number of rows obtained is the total of the rows in the table, while the number of rows to be deleted is less than the first value.
Sorry for the misunderstanding.
Hi Sergio,
since you are removing all rows, would protocol.FillArray with empty array speed things up?