Rolf B: php, SQL, Multiuser - SESSION oder nicht ?

Beitrag lesen

Hallo DB-Willi,

Ersatzweise wird für den Zähler auch oft der Zeitpunkt der letzten Veränderung benutzt ... grobe Granularität

Ja. Sorry. Ich benutze hauptsächlich MS SQL Server, und da ist der TIMESTAMP Typ ein Synonym für ROWVERSION - das gibt's in MySQL meines Wissens nicht.

Was ich auch übersehen habe, ist, dass MYSQL einen Parameter für CURRENT_TIMESTAMP braucht, um die Anzahl der Dezimalstellen festzulegen. CURRENT_TIMESTAMP(6) liefert ihn auf die Mikrosekunde (wenn das OS einen Mikrosekundentimer besitzt). Aber kollisionsfest ist das nicht.

Ein Zähler ist bestimmt sicherer, der sollte dann aber BIGINT sein, oder die +1 Operation muss mit MOD gegen Überlauf gesichert werden.

Was ich in meinem eigenen Text noch vergaß: wenn man mehr als eine Table updaten muss, dann MUSS das ganze in einer Transaction laufen, um bei einer Kollision alles zurücksetzen zu können.

Rolf

--
sumpsi - posui - obstruxi