GetVariable, SetVariable and ArrayDML

ThomyKay

Member²
I consider to use Array DML with TOracleQuery to update large amounts of records (up to 50000 at a time). The problem is that I havn't acces to a reference of the variable variants. Each GetVariable, SetVariable call is a deep copy of that variant and results in high memory consumption.
Any idea to workaround that? Any future plans to change the TOracleQuery interface?
 
It is not really useful to pass 50,000 records at once. This will only slow up the process because of memory allocation.

Processing more than 100 records in one call will rarely make much difference (memory overhead vs network roundtrip overhead).

------------------
Marco Kalter
Allround Automations
 
You are right. This was only a test scenario. But anyway, wouldn't it be better to be able to access the variant array directly instead of copying it to TOracleQuery?
 
The variant array has to be converted to something that SQL*Net / Net8 / Net9 understands. The overhead caused by this should be minimal compared to the time that is spent on the network and on the server.

------------------
Marco Kalter
Allround Automations
 
Back
Top