- 论坛徽章:
- 0
|
我的代码如下:
use DBI;
use IO::File;
use POSIX qw(strftime);
$input = IO::File->new("test.bcp");
$dbh=DBI->connect("dbi:Oracle:host=$host;sid=orcl", $user, $passwd) || die "Database connection not made: $DBI::errstr";
$sth = $dbh->prepare("INSERT INTO table(14个字段) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
while (defined($line = $input->getline()))
{
chomp($line);
@datarry=split(/\t/,$line);
$snum++;
。。。对每个字段的处理。。。
$sth->execute(14个变量);
}
$input->close();
$sth->finish();
$dbh->disconnect();
exit;
上面是我的代码,因为项目保密的关系,数据库字段被我隐藏了。
我是从一个文件读取每行记录,每行记录有14个字段,每次读一行入库。文件有3千5百多万行记录。用我的脚本执行了
差不多2天。应该是有严重的效率问题吧。
请高手帮我分析一下。数据库应该是没有什么问题的。同事拿c语言写入库程序感觉入库快多了。 |
|