DBI默认是自动commit的。因此,你循环里面的$ImportData->execute(temp[0],$temp[1],$temp[2],$temp[3],temp[4],$temp[5],$temp[6]);每插一行,就commit一次,效率就很差了。1.在连接库后,禁用自动commit:$dbh->{AutoCommit} = 0; 2. 控制commit频度:$ImportData->execute(temp[0],$temp[1],$temp[2],$temp[3],temp[4],$temp[5],$temp[6]);$i++;$dbh->commit() if $i % 1000==0; #插1000行,commit一次然后,你就会体会到飞一般的感觉
|