phpbar.de logo

Mailinglisten-Archive

[php] Performance

[php] Performance

Joerg Behrens php_(at)_phpcenter.de
Tue, 2 Oct 2001 11:40:12 +0200


Moin,

----- Original Message -----
From: "Benno Müller" <Benno_Mueller_(at)_t-online.de>
To: <php_(at)_phpcenter.de>
Sent: Tuesday, October 02, 2001 11:16 AM
Subject: [php] Performance


> Hallo,
>
> z.Z. arbeite ich an einem Newssystem für ein CMS. Bei Eingabe eines
> Firmennamens, etc. soll der Webserver direkt den Link zu dieser Firma aus
> der DB heraussuchen und zu dem Namen setzen.
>
> Beispiel: Wenn man Microsoft in das Eingabeformular eintippt soll als
> Ergebnis <a href=http://www.microsoft.com/>Microsoft</a> herauskommen.
>
> Nun stellt sich mir die Frage ob es günstiger ist den Link schon beim
> speichern in der DB zu setzen oder erst beim abruf aus der DB. Ersteres
ist
> sicher performanter, da der Webserver nur einmal den Text nach den
> Firmennamen durchsuchen und den Link setzen muss. Allerdings gäbe es ein
> Problem wenn der Link wechselt, da dann immer noch der falsche Link in der
> DB gespeichert ist.
> Letzteres hätte zwar den Vorteil, das der Link bei jedem Seitenabruf aus
der
> DB ausgelesen wird und, soweit die Tabelle mit den Links gepflegt wird,
auch
> immer aktuell sind, aber es hätte auch den Nachteil das der Webserver bei
> jedem Seitenaufruf auf die DB zugreifen müsste.
>

Hmm, warum muss ich nun an SmartTags denken ? :)

Nein. Wie so oft ist der Mittelweg der Richtige.  Erzeuge einfach bei der
Estellung der Seiten einen link der wie folgt ausschaut...
<a href=/redirector.php?id=1/>Microsoft</a> .

Das 'redirector.php' Script holt sich ueber die ID die Url aus der DB und
das auch nur falls jemand mal draufklickt uns ist ist somit Performance
sparend. Gleichzeitig kannst du hier einen Counter einbauen um zusehen wie
oft geklickt wird. Weitergeleitet wird dann zum eigentlichen Ziel mittel
header("Location: http://foobar.com"):

Bei aenderungen der URL ist halt nur in der DB etwas zuaendern und nicht in
alles Seiten.

Gruss
Joerg Behrens

--
TakeNet GmbH                        Mobil: 0171/60 57 963
D-97080 Wuerzburg                 Tel: +49 931 903-2243
Alfred-Nobel-Straße 20            Fax: +49 931 903-3025




php::bar PHP Wiki   -   Listenarchive