phpbar.de logo

Mailinglisten-Archive

[php] phplib - neue DB Instanz - Speicher ?

[php] phplib - neue DB Instanz - Speicher ?

Sascha Hofmann php_(at)_phpcenter.de
Wed, 17 Apr 2002 15:00:10 +0200


Hi!

Wenn Du wie unten beispielhaft angegeben mehrere DB-Handler erzeugst, 
verbrauchen die auch entsprechend Speicher. Nach Laufzeitende des 
Skriptes wird der Speicherplatz für die Objekte in PHP wieder 
freigegeben. Da brauchst Du Dir keine Sorgen zu machen. Allerdings sorgt 
der Pconnect in der Mysql-Klasse der PHPLIB dafür, dass die Datenbank 
weiterhin Speicher für eine hergestellte Verbindung verbrät, die Du 
vermutlich nie wieder nutzen wirst.
Wenn Du stattdessen 'connect' verwendest, umgehst Du das Problem.
Warum benötigst Du eigentlich so viele DB-Handler _gleichzeitig_ ? In 
der Regel sendest Du Deine Queries doch sowieso sequentiell an die 
Datenbank. Es ist besser, das Abfrageergebnis in einer PHP-Variable zu 
speichern und mit dem gleichen DB-Handler die nächste Abfrage 
auszuführen. Falls Du zwei oder mehrere DB-Abfragen in Schleife 
verschachteln willst bzw. musst, solltest Du Dein DB-Design nochmal 
überdenken. Solche Strukturen solltest Du vermeiden, da sie in der Regel 
extrem unperformant sind.

Gruss,
Sascha

broeker_(at)_snafu.de wrote:
> 
> Wie genau funktioniert eigentlich die
> Speicherverwaltung in folgender Sache?
> 
> Ich kann ja in einer Seite verschiedene 
> DB-Instanzen öffnen ...
> 
> $db1 = new DB_irgendwas;
> $db2 = new DB_irgendwas; 
> $db3 = new DB_irgendwas;
> $db4 = new DB_irgendwas; 
> $db5 = new DB_irgendwas;
> ..   


php::bar PHP Wiki   -   Listenarchive