Re: to prepare_cached or not?

Rudy Lippan <[email protected]>
Newsgroups gmane.comp.db.postgresql.dbdpg
Message-ID <[email protected]>
On Thu, 14 Jun 2007, Greg Sabino Mullane wrote:

>> I have a bunch of queries which are not extremely performance sensitive.
>> What is the trade-off between prepare and prepare_cached? Is
>> prepare_cached basically free and I should use it all the time? Or is
>> there a significant memory cost and I should only use it for the most
>> time-critical queries?
>
> No significant memory or computation cost. It's a fairly cheap optimization.
> It's probably fine to use it all you want. Personally, I rarely use it myself,
> as my apps prepare things only once and keep pretty good track of what's
> already been prepared or not.



That depends, I can think of some instances were you would not want to use it:


for (1..100_000_000) {
     eval {
         my $sth = $dbh->prepare_cached(q{
             INSERT INTO mytable (number) VALUES ($_);
         });
         $sth->excute();
     }; if (my $e = $@) {
         die "Hmm there was an error... Did you forget to create mytable? $e";
     }
}


Or in general, any time you have something that will generate a large set of 
different statements....


-r
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.