Hello,
I use Perl 5.6.0, DBI 1.30 and DBD-Oracle 1.12.
While checking the performance, my Oracle-Tools discovered, that the
Database does two prepares for every
execute.
My Perl-Code looks like this:
my $cur=$dbh->prepare($call);
die "Prepare-Error: $DBI::err\n$call\n$DBI::errstr\n" if
($DBI::err);
$cur->execute(@$vars);
die "Execute-Error:
$DBI::err\n$call\n$DBI::errstr\n" if
($DBI::err);
my @res=();
while (my $href=$cur->fetchrow_hashref) {
die "Fetch-Error: $DBI::err\n$call\n$DBI::errstr\n" if ($DBI::err);
for(keys %$href) {
$href->{$_}=~s/[\s]*$//;
$href->{$_}=~s/^[\s]//;
}
push(@res,$href);
}
$cur->finish;
return(\@res);
How could it be, that there is an prepare/execute ratio of 2? I have execute much
equal statements with bind-Values, and its very annoying that there are 400 prepares
for 200 executes instead of one prepare.
Any hints?
Henning
--
'''
(0 0)
+-------oOO----(_)-------------+
|Henning Meyer |
|SIEMENS AG ICM N PG ES PD D 2|
+--------------------oOO-------+
|__|__|
|| ||
ooO Ooo