phpbar.de logo

Mailinglisten-Archive

locks

locks

Dr. Franz-Josef Huecker mysql-de_(at)_lists.bttr.org
Sat, 03 Aug 2002 15:26:43 +0200


At 14:15 03.08.02 +0200, you wrote:

>ich habe ein wenig probleme mit den "lock" befehlen.
>"select get_lock ('test',10);" und "select release_lock('test');"
funktionieren einwandfrei, 
>allerdings bekomme ich bei "select is_free_lock('test');" egal welchen
zustand die 
>variable hat folgende fehlermeldung: 
>"ERROR 1064: You have an error in your SQL syntax near '("test")' at line 1"
>slebst in der doku ist diese syntax angegeben (6.3.6.2 Miscellaneous
Functions).
>desweiteren frage ich mich warum "get_lock() bei blockierten lock wartet
und nicht "0" 
>zurueckgibt? gibt es dafuer einen grund? anfragen in einer warteschlange
zu haben 
>hilft mir nicht wirklich weiter...
>Ich versuche naemlich zu erhindern dass 2 parlell arbeitende user sich nicht 
>gegenseitig ins gehege kommen.

Hallo Henning

was Du vorhast, ist ja noch ein Geheimnis, deswegen nur eine kleine
spekulative Antwort, die Dir aber vielleicht nuetzt. Ich habe mich vor
nicht allzulanger Zeit mit dem Thema lock befasst und mein Ergebnis ist,
dass ist ueberfluessig. Also ich vermag den Sinn nicht zu erkennen.

Zu diesem Ergebnis bin ich mit einem Test gekommen, bei dem zeitgleich von
verschiedenen Konsolen 4 x 10000 Schreibvorgaenge in einen Counter
erfolgten, bei denen es ohne locking in der Regel durch Ueberschreiben zu
beachtlichen Verlusten kommt (PHP, Perl, Tcl), und bei MySQL stelle ich
fest, dass dort der Counter nach Abschluss des Tests exakt auf 40000 steht.

Gut gut, anders ist es vermutlich, wenn die User einen Satz zeitgleich
lesen und aendern, aber auch dort wuerde ich es erst einmal testen, und
falls das fehlschlaegt, gibt es gewiss eine elegantere Loesung als den
schwierig zu begreifenden Lock-Befehl.

Beantwortet dass Deine Frage, nuetzt es... ? :-)

So short,
Franz-Josef

--
 Dr. Franz-Josef Huecker
W3: http://www.huecker.com
 Email: info_(at)_huecker.com

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive