in reply to Re^2: DBD::Oracle insert row performance
in thread DBD::Oracle insert row performance
To my understanding, AutoCommit => 0; doesn't mean much. The default action will be to "commit" each insert operation no matter what this says, if you do not start a transaction explicitly.my $dbh = DBI->connect("dbi:Oracle:$dbname", $user, $passwd, { AutoCommit => 0, RaiseError => 1, RowCacheSize => 10000, ora_array_chunk_size => 100000, #ora_check_sql => 0, #ora_verbose => 0xff, #ora_oci_success_warn => 1, } );
You need to start a transaction explicitly, insert huge amount of rows and then end the transaction explicitly. As I have suggested before, about 128K rows per commit will work fine.
|
|---|