Thread Was macht prepare_cached wirklich? (18 answers)
Opened by rosti at 2012-05-09 18:44

pq
 2012-05-09 22:01
#158268 #158268
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das execute holt sich auch ggfs. schon das ergebnis, je nach datenbank.
dasselbe ergebnis bekommst du mit einem normalen prepare() auch.

du musst das sleep schon vor dem execute machen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ perl -wE'
use DBI;
my $dbh = DBI->connect(...);
$dbh->do("set wait_timeout=5");
my $sth = $dbh->prepare_cached("SELECT COUNT(*) FROM ...");
$sth->execute or die $dbh->errstr;
say $sth->fetchrow_array;
sleep 6;
$sth->execute or die $dbh->errstr;
say $sth->fetchrow_array;
'
0
DBD::mysql::st execute failed: MySQL server has gone away at -e line 9.
MySQL server has gone away at -e line 9.


aber egal. wenn du es glauben möchtest, dass die daten gecacht werden, ist das vielleicht auch ok. erzähls nur bitte nicht weiter =)
Last edited: 2012-05-09 22:03:33 +0200 (CEST)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Was macht prepare_cached wirklich?