phpbar.de logo

Mailinglisten-Archive

locks

locks

Ives Steglich mysql-de_(at)_lists.bttr.org
Mon, 05 Aug 2002 17:51:33 +0200


Dr. Franz-Josef Huecker wrote:


> 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.

dafür nutzt man im allgemeinen auch locking - um die atomarität zu 
wahren... wäre ja schon doof wenn a und b einen wert x lesen und dann 
schreibt a zurück und danach b...

deshalb - wenn a wert x liest um ihn zu verändern kann er ein read lock 
auf den datensatz setzen - damit können alle anderen nicht mehr lesen 
bis a fertig ist... - wenn a den wert nur lesen will und sicherstellen 
möchte - das wärend der transaktion die werte nicht veränderbar sind - 
dann setzt er im allgemeinen nur einen write lock - sprich andere 
threads dürfen noch daten von dort lesen

es gibt noch feingranularere lockingtheorien... weil obiges auch nicht 
optimal ist... kommt auf das verhältnis von write/read operationen usw. 
an sowie deadlock gefahren von threads untereinander... deshalb muss man 
im allgemeinen auch am anfang alles locken was man benutzen wird - 
sobald man ein lock setzt um diese gefahr zu minimieren...

greetings
dalini


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



php::bar PHP Wiki   -   Listenarchive