请教Perl程序连接数据库速度(mod_perl)

请教Perl程序连接数据库速度(mod_perl)

各位好,请教一个perl应用程序(非web程序),连接数据库很慢的问题。
我通过Perl DBI 连接Oracle9i数据,要3分钟左右才能连接成功,非数据库问题,用java连接就很快;
在网上看到可以通过mod_perl可以加快程序的运行(也包括连接数据库),但我查到都是需要和apache web一起使用,但我写的应用只是一个应用程序,不在web下运行,请问应该怎么办呀,谢谢!
我是通过perl 应用程序名.pl的方式运行的。
贴链接数据库的代码


QUOTE:
我通过Perl DBI 连接Oracle9i数据,要3分钟左右才能连接成功,非数据库问题,用java连接就很快;

这要视具体情况,Perl DBI速度不会差于JDBC。

QUOTE:
在网上看到可以通过mod_perl可以加快程序的运行(也包括连接数据库),但我查到都是需要和apache web一起使用,但我写的应用只是一个应用程序,不在web下运行

Apache::DBI在mod_perl环境下才有意义。在Apache启动时,会初始化数据库连接池,该连接池会被所有Apache子进程共享,这样避免了建立socket的开销,所以会快一些。单独的应用程序,除非做成多进程的daemon,否则Apache::DBI完全用不上。
你在同一台机上用DBI比Java慢吗?DBI有debug模式,你trace一下慢在哪里。see:
http://search.cpan.org/~timb/DBI-1.59/DBI.pm
这个连接数据库的代码
sub conndb
{
        #连接数据库
        print &getcudate()."DEBUG:conn DB Start ...\n";
        my $dbconnz = DBI->connect("dbi:Oracle:host=$DBhost;sid=$DBsid",$DBuser,$DBpasswd) or die "can't connect to database ". DBI-errstr;#连接数据库
        print &getcudate()."DEBUG:conn DB OK!!!!\n";
        return $dbconnz;
}

数据库是oracle9i,perl和数据库都跑在Red hat Linux 8上
我现在做的就只能一直让其连接,等处理完后再断开。但处理过程可能要需要8个多小时,并且程序是一直运行着。能否让其用的时候再连,主要解决连接的花费时间。
我初学Perl,请问是否还有其他比较快的连接数据库方式,数据库不在本机,是在另一台服务器上。
看代码没有问题
谢谢!我来结。我现在使用是是连接数据库后,将获取到的数据放在一个地方,并断掉数据库,要用时再连接。
代码如下:my $sth=$dbconn->prepare($lbsql);
        $sth->execute();#执行SQL
        my $table = $sth->fetchall_arrayref
                or die "$sth->errstr\n";

非常感谢!