Mailinglisten-Archive |
From: "Andreas Zaugg - CAB Services AG" <webmaster_(at)_cabag.ch> > Ich habe eine > for($i=0... schleife > und rufe von dort aus eine Funktion auf. > In der Funktion mache ich eine Abfrage auf die DB > > Was ist jetzt besser: > - Ich Connecte in der Funktion (Mehrmals connecten und wieder schliessen) > oder > - Ich connecte VOR der for Schleife und schliesse erst wieder nach der > Schleife > > Was macht hier mehr Sinn und was belastet den Server am meisten? Definitiv dein 2er Punkt macht mehr Sinn. Jenach verwendetem Datenbanktyp wuerde bei deiner ersten Version riesige Resourcen verbraucht wuerden. Oracle wuppt bei mir mit 22MB pro anfrage... man stelle sich das mal in einer schleife vor nur um 20 Datensaetze anzuzeigen...aarrgghh! Hinzu kommen wuerde dann auch noch das bei gleichzeitigem Zugriff auf die Datenbank der "Watermark" steigen koennte. Mit "Watermark" sind die gleichzeitigen Verbindungen gemeint und daraus ergeben sich sapeter einmal die Lizenzzahlungen. Kann ein teuerer Spass werden. Eine weitere Moeglichkeit (sofern von der DB und PHP unterstuetzt zb. Mysql,Oracle,Postgre usw.) waeren "persistent" Verbindungen. Standardmaessig werden ja die Datenbankverb. nach Ablauf deines Scripts automatisch beendet. Unter Verwendung einer staendigen ("persistent") Verbindung bleibt der Connect erhalten und die Anmeldeprozedur beim nachste Aufruf entfaellt und hier stellt sich dann er Geschwindigkeitsvorteil fuer dich ein. Nachteil: Laeuft nur wenn als Apachemodul und nicht in der CGI-Version. Wenn wenig Verkehr auf deiner Seite ist belastest du deinen Webserver mit einer zusaetzelichen Verbindung die ja nur selten Gebraucht wird. Gruss Joerg Behrens -- Key fingerprint = 92 7D E0 A6 CF AE EC 32 14 28 EF 0D 57 2A 88 5B ---------------------------------------------------------------------- Preussag Noell Dienstleistungs GmbH D-97080 Wuerzburg Mobil: 0171/60 57 963 Alfred-Nobel-Straße 20 Tel: +49 931 903-2243 Abt: DV-C/tr Fax: +49 931 903-2051
php::bar PHP Wiki - Listenarchive