phpbar.de logo

Mailinglisten-Archive

[php] Performance Problem?

[php] Performance Problem?

Werner Saumweber wsaumweber at mnet-online.de
Mon Mai 28 13:37:42 CEST 2007


Hallo Liste,

ich habe eine Tabelle, in die bei jedem Seitenaufruf einer Domain eine Row zu diesem Load geschrieben wird. In dieser 
interessiert mich ein Feld namens PAGE_ID. Die Tabelle wird von dem Produkt "stuffed tracker" forgeschrieben und 
darauf soll ich aufsetzen. Es soll eine Top 100 erstellt werden, was sich durch Zählen der Anzahl Rows pro PAGE_ID 
realisieren ließe.
Ich sehe folgenden Ablauf: Einen select distinct(PAGE_ID) und select count(*) pro PAGE_ID.
Ich habe keine Ahnung, wie umfangreich diese Domain einmal sein wird. (Es handelt sich um ein neues Portal - in 
russisch.) Die Hitparade wird bei jedem Seitenaufruf innerhalb des Portals neu generiert.

Ich stelle mir die Frage, ob es nicht sinnvoller ist, von vornherein eine Top100 Tabelle zu führen, wo einfach pro Load 
die Row der Seite inkrementiert wird. Im MySQL Online Handbuch für die Version 5.1. finde ich
SELECT counter_field FROM child_codes FOR UPDATE;
UPDATE child_codes SET counter_field = counter_field + 1;
Ob aber auf der Maschine, die das Portal hosten wird, MySQL 5.1 läuft, weiß ich nicht. Wie verbreitet ist diese Version 
denn schon?
Bei 1&1 z.B. ist z.B. MySQL 4.0 im Einsatz. Müsste man da dann mit LOCK und UNLOCK arbeiten?
Mit der TOP100 Tabelle wäre die Hitparade sehr viel performanter (SELECT ...  SORT BY counter_field)

Für weitere Hinweise und Ideen wäre ich sehr dankbar. :-)

Ciao

Werner

PS: Meine DB-Kenntnisse sind nicht sehr fundiert - leider.



php::bar PHP Wiki   -   Listenarchive