I need to insert more than thousand rows into an Oracle Database table every 6 hours using VBA module. During every run some complex forecasting calculation is done in VBA and the resulting values have to be inserted into the database.
The typical output Range consists of more than 1000 rows and 13 columns.
Currently I insert row by row and moreover an auto-commit runs after each insert(ADO DB default). Is there a better method or process for improving performance here?
It currently takes around 20 – 40 minutes depending on the server load. Any performance improvements Suggestions.
Don’t do a commit after every insert (if this is compatible with your requirements)
Consider if using the append hint helps
Don’t know VBA (anymore) but look for batch inserts, i.e. something that inserts multiple statements in one go instead of every insert statement on its own
Use prepare statements
Consider disabling constraints during insert