RobRobson: schnelles inkrement für logging funktion

Beitrag lesen

Hallo,

ich möchte die Zugriffe auf verschiedene Funktionen messen, sprich beim ausführen bestimmter Funktionen den counter in der logging-tabelle inkrementieren.

Die log_tab schaut so aus:
id|lastupdate|datei|funktion|count

problem ist jetzt das man nicht einfach via INSERT INTO .. ON DUPLICATE KEY UPDATE count =+ 1 setzen kann, da "datei" und "funktion" als text-felder definiert sind und somit nicht als index deklariert werden können.

Der einfachste weg wäre wohl: Ermitteln der id -> dann increment der ID, aber das sind erstens 2 Transaktionen (im Fall eines INSERTS sogar 3) die über php gestartet werden müssten und zweitens würden/könnten race_conditions auftreten.

Gibts also bessere Lösungen oder muss man Lösung 2 nehmen aber sie in globale Transaktion kapseln um die RC zu verhindern?
Wie handeln große Projekte Logs?

Viele Grüße,
Rob