Mailinglisten-Archive |
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