Also, ist es denn nicht egal ob der Apache (oder welcher Server auch immer) threaded läuft? Es ist eher die Frage ob PHP threaded lauft, bzw. ob der PHP-Interpreter des Servers eine Seite nach der anderen abarbeitet oder ob er für zwei Seiten zwei Threads erstellt und diese vielleich auf zwei Prozessor(kernen) parallel verarbeitet.
Egal ob Locks oder Transaktionen - diese sind nur nötig wenn PHP die Seiten nicht seriell bearbeitet, der einzige Zugriff auf die Datenbank kommt von PHP her.
Wieso wollt ihr mir von Locks abraten und empfehlt stattdessen Transaktionen? Was ist der Vorteil von Transaktionen?
Ich habe noch nie mit Transaktionen gearbeitet, darum stellt sich mir die Frage, ob sich denn alle select-Aufrufe einer Transaktionen garantiert auf den exakt gleichen Datenstand beziehen. Anders gefragt: Kan man einen READ-Lock überhaupt auch mit Transaktionen realisieren? Sind Transaktionen mehr als einfach nur die Möglichkeit eine solche mit einem Rollback zu widerufen?
Ansonsten drängt sich ein Inkonsistenzproblem auf, denn die if-Abfrage, welche über einen Commit oder Rollback entscheidet, ist dann nicht atomisch.
Grüsse
Nooooooooooos