Heim > Artikel > Backend-Entwicklung > Muss PHP eine MySQL-Sperre verwenden?
Muss PHP eine MySQL-Sperre verwenden?
Unter normalen Umständen fügt MYSQL bei Aktualisierungsvorgängen automatisch Tabellen hinzu Sperren. Es ist keine explizite Sperre erforderlich. Es sei denn, die Daten erfordern eine strenge logische Schreibreihenfolge.
Vor der Ausführung der Abfrageanweisung (SELECT) werden automatisch Lesesperren für alle beteiligten Tabellen hinzugefügt. Bevor Aktualisierungsvorgänge (UPDATE, DELETE, INSERT usw.) ausgeführt werden, werden automatisch Schreibsperren hinzugefügt Beteiligte Tabellen. Der Prozess erfordert keinen Benutzereingriff. Daher müssen Benutzer im Allgemeinen nicht direkt den Befehl LOCK TABLE verwenden, um die MyISAM-Tabelle explizit zu sperren.
Verwandte Einführung:
Seitenebene: Engine BDB.
Tabellenebene: Engine MyISAM, verstanden als Sperren der gesamten Tabelle, die gleichzeitig gelesen, aber nicht geschrieben werden kann
Zeilenebene: Engine INNODB, eine einzelne Zeile mit Datensätzen gesperrt
1) Sperre auf Tabellenebene: geringer Overhead, schnelles Sperren; große Sperrgranularität, höchste Wahrscheinlichkeit eines Sperrenkonflikts und niedrigste Parallelität.
2) Sperren auf Zeilenebene: Hoher Overhead, langsame Sperren; die Sperrgranularität ist am geringsten, die Wahrscheinlichkeit von Sperrenkonflikten ist auch am höchsten.
3) Seitensperre: Die Kosten und die Sperrzeit liegen zwischen Tabellensperren und Zeilensperren. Die Sperrgranularität liegt zwischen Tabellensperren und Zeilensperren, und die Parallelität ist durchschnittlich.
Empfohlenes Tutorial: PHP-Tutorial
Das obige ist der detaillierte Inhalt vonMuss PHP eine MySQL-Sperre verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!