InnoDB benutzt Row-Level-Locking.
D.h.: Während des Updates sind alle betroffenen Sätze für's Schreiben gesperrt, bis eine Transaktion durch COMMIT oder ROLLBACK beendet wird.
Wichtig ist auch der "Isolation Level". Default ist "Repeatable Read". Besser ist "Read Commited", d.h., wenn von einem anderen User aus Sätzen gelesen wird, bei denen innerhalb einer noch nicht abgeschlossenen Transaktion Änderungen stattgefunden haben, dann liest dieser den Stand von vor dem Beginn der Transaktion.
Ja, wir verwenden MySQL mit InnoDB in einer Multi-User-Umgebung. InnoDB ist hervorragend geeignet dafür und mit den Einstellungen READ COMMITED und AUTOCOMMIT=0 bestens eigestellt für 99% aller Anwendungsgebiete. (Das sag ich mal so daher.)
Habe hier ein 480K großes PDF, das wir mal von der MySQL-Site geholt haben, das es dort aber nicht mehr zu geben scheint. Leider ist es zu groß zum hier hochladen. Es heißt: "2003-07-12-LinuxTag-InnoDB.pdf". Vielleicht findest Du es ja bei Google, oder schreib mir eine PN mit Deiner E-Mail-Adresse, dann Mail ich's Dir.
Martin