Hi, I want to insert some 1 to 10 million records in oracle database.I am using connection pool and prepared statement for this purpose.I have 3 different types of objects and data from them is inserted to 3 tables in database.I am making a batch of 200 for each query(3 total) and i am getting 4000 ms as total time to execute one batch.2500 ms is taken to commit batch to database and 1500 ms for constructing prepare statement for 3 batch. Please tell me how i can improve my performance.
Do you have any indexes on the table? If so, I would consider dropping them during the large data insert. Also, look for contention on the database.
The prepared statement part should only be done once, since subsequent batches are of the same size. For the other part, I would suggest looking at the db statistics to see what is taking all the time. 2.5seconds to insert 200 rows sounds like a lot.