Memoizing non-place-holding sql statements to place-holding
- From: h-taguchi@xxxxxxxxxxx
- Date: Sat, 20 Aug 2005 13:03:53 +0900
Hello,
Is there a module already existing to memoize non-place-holding sql
statements to place-holding ones and suppress prepare to minimum?
I'm now transforming other peaple's scripts for a performance inprovement.
This system is so big, I cann't understand quickly, but I foud that all
SQL statements are made wothout place holders, and all INSERT statements
are processed by the next subrourine.
sub insert_sql {
my ($dbh, $sql) = @_;
my $sth = $dbh->prepare($sql) or die;
$sth->execute();
$sth->finish;
}
INSERT'ed tables are almost 10 tables and almost 20 kind of INSERT statements
are processed. For a small input data, about 4,000 INSERT are processed,
for big input data, about 40,000 INSERT are processed,
I think this idea can be used to memoize each INSERT statement as one with
place holders, prepare only once for each SQL and execute "execute" method
for each call.
This coding may not be so difficult, but not easy for me.
I don't think "Memoize.pm" can be used, :)
Any idea?
Regards,
Hirosi Taguti
h-taguchi@xxxxxxxxxxx
.
- Follow-Ups:
- Re: Memoizing non-place-holding sql statements to place-holding
- From: Greg Sabino Mullane
- Re: Memoizing non-place-holding sql statements to place-holding
- Prev by Date: Re: FW: Failed DBD Oracle 1.16 make on Perl 5.8.6, DBI 1.48, Oracle 9.2.0.6, Solaris 8.
- Next by Date: DBD Oracle column type
- Previous by thread: FW: Failed DBD Oracle 1.16 make on Perl 5.8.6, DBI 1.48, Oracle 9.2.0.6, Solaris 8.
- Next by thread: Re: Memoizing non-place-holding sql statements to place-holding
- Index(es):
Relevant Pages
|
|