Was sind die MySQL-Datenbanksperren?
Die Sperren in der MySQL-Datenbank sind: 1. Gemeinsame Sperre, was bedeutet, dass die Daten gelesen werden; 2. Exklusive Sperre, was bedeutet, dass die Daten geschrieben werden; Ein Datensatz; 4. Absichtssperre, um die Art der Sperre offenzulegen, die für die nächste Zeile in einer Transaktion angefordert wird.
MySQL-Datenbanksperre
1 Sperre)
Gemeinsame Sperre (S) bedeutet das Lesen von Daten. Daher können mehrere Transaktionen gleichzeitig gemeinsame Sperren zu einem Objekt hinzufügen.
SQL-Anweisung, die eine gemeinsame Sperre generiert:
select * from ad_plan lock in share mode;
2. Exklusive Sperre (Exklusive Sperre, auch X-Sperre genannt)
Exklusive Sperre bedeutet, dass die data Schreibvorgänge ausführen. Wenn eine Transaktion einem Objekt eine exklusive Sperre hinzufügt, können andere Transaktionen keine weiteren Sperren hinzufügen.
SQL-Anweisung, die eine exklusive Sperre generiert:
select * from ad_plan for update;
3. Zeilensperre (Zeilensperre)
Sperrt eine Zeile mit Datensätzen und betrifft nur einen Datensatz.
wird normalerweise in DML-Anweisungen wie INSERT, UPDATE, DELETE usw. verwendet.
InnoDB-Zeilensperre wird durch Sperren der Indexeinträge im Index implementiert. Dies unterscheidet sich von MySQL und Oracle, die durch Sperren der entsprechenden Datenzeilen im Datenblock implementiert werden.
Die Zeilensperren-Implementierungsfunktion von InnoDB bedeutet, dass InnoDB Sperren auf Zeilenebene nur verwendet, wenn Daten über Indexbedingungen abgerufen werden. Andernfalls verwendet InnoDB Tabellensperren!
4. Absichtssperre
Die Absichtssperre ist eine Sperre auf Tabellenebene. Ihr Designzweck besteht hauptsächlich darin, die Art der Sperre anzuzeigen, die für die nächste Zeile angefordert wird in einer Transaktion. Zwei Tabellensperren in InnoDB:
Absichtliche gemeinsame Sperre (IS): Zeigt an, dass die Transaktion das Hinzufügen einer gemeinsamen Sperre zur Datenzeile vorbereitet, was bedeutet, dass vor dem Hinzufügen einer gemeinsamen Sperre zu einer Datenzeile die IS-Sperre des Tabelle muss zuerst abgerufen werden;
Absichtliche exklusive Sperre (IX): Ähnlich wie oben bedeutet dies, dass die Transaktion das Hinzufügen einer exklusiven Sperre zur Datenzeile vorbereitet, was darauf hinweist, dass die Transaktion zuerst die IX-Sperre erhalten muss Tabelle, bevor einer Datenzeile eine exklusive Sperre hinzugefügt wird.
Absichtssperren werden von InnoDB automatisch hinzugefügt und erfordern keinen Benutzereingriff.
Für INSERT, UPDATE und DELETE fügt InnoDB den beteiligten Daten automatisch exklusive Sperren hinzu. Bei allgemeinen SELECT-Anweisungen fügt InnoDB keine Sperren hinzu und Transaktionen können durch die folgenden Anweisungen explizit gemeinsame Sperren oder exklusive Sperren hinzufügen.
Gemeinsame Sperre: AUSWÄHLEN … SPERREN IM TEILUNGSMODUS;
Exklusive Sperre: AUSWÄHLEN … FÜR AKTUALISIERUNG;
Sperrstufe
MySQL ist nach der Ebene oder Dichte der Sperren unterteilt und verfügt über drei Sperrebenen: Seitenebene, Tabellenebene und Zeilenebene.
(1) Sperren auf Tabellenebene
Geringer Overhead, keine große Sperrgranularität, höchste Wahrscheinlichkeit von Sperrenkonflikten, niedrigste hohe Parallelität.
(2) Sperren auf Zeilenebene
sind teuer und langsam zu sperren. Die Sperrgranularität ist am geringsten am niedrigsten, und die Parallelität ist auch am höchsten.
(3) Seitensperre
Die Kosten und die Sperrzeit sind zwischen Tabellensperren und Zeilensperren begrenzt. Die Granularität der Sperren ist zwischen Tabellensperren und Zeilen begrenzt Sperren Zwischen Zeilensperren ist die Parallelität durchschnittlich.
Das obige ist der detaillierte Inhalt vonWas sind die MySQL-Datenbanksperren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP-Entwicklungspraxis: Verwenden Sie PHPMailer, um E-Mails an Benutzer in der MySQL-Datenbank zu senden. Einführung: Beim Aufbau des modernen Internets ist E-Mail ein wichtiges Kommunikationswerkzeug. Ob Benutzerregistrierung, Passwort-Zurücksetzung oder Bestellbestätigung im E-Commerce – das Versenden von E-Mails ist eine wesentliche Funktion. In diesem Artikel wird erläutert, wie Sie mit PHPMailer E-Mails senden und die E-Mail-Informationen in der Benutzerinformationstabelle in der MySQL-Datenbank speichern. 1. Installieren Sie die PHPMailer-Bibliothek PHPMailer

Da die Datenmenge immer weiter zunimmt, wird die Datenbankleistung zu einem immer wichtigeren Thema. Die Verarbeitung heißer und kalter Daten ist eine effektive Lösung, die heiße und kalte Daten trennen und so die Systemleistung und -effizienz verbessern kann. In diesem Artikel wird erläutert, wie Sie mithilfe der Go-Sprache und der MySQL-Datenbank heiße und kalte Daten trennen. 1. Was ist die Verarbeitung heißer und kalter Daten? Die Verarbeitung heißer und kalter Daten ist eine Möglichkeit, heiße und kalte Daten zu klassifizieren. Unter Hot Data versteht man Daten mit hoher Zugriffshäufigkeit und hohen Leistungsanforderungen

Wie verwende ich die MySQL-Datenbank für die Zeitreihenanalyse? Zeitreihendaten beziehen sich auf eine Sammlung von Daten, die in zeitlicher Reihenfolge angeordnet sind und zeitliche Kontinuität und Korrelation aufweisen. Die Zeitreihenanalyse ist eine wichtige Datenanalysemethode, mit der zukünftige Trends vorhergesagt, zyklische Veränderungen entdeckt, Ausreißer erkannt usw. werden können. In diesem Artikel stellen wir Ihnen zusammen mit Codebeispielen vor, wie Sie eine MySQL-Datenbank für die Zeitreihenanalyse verwenden. Erstellen Sie eine Datentabelle. Zuerst müssen wir eine Datentabelle erstellen, um Zeitreihendaten zu speichern. Angenommen, wir möchten die Zahl analysieren

Mit zunehmender Datenmenge wird die Sicherung der Datenbank immer wichtiger. Für die MySQL-Datenbank können wir die Go-Sprache verwenden, um eine automatisierte inkrementelle Sicherung zu erreichen. In diesem Artikel wird kurz vorgestellt, wie Sie mithilfe der Go-Sprache eine inkrementelle Sicherung von MySQL-Datenbankdaten durchführen. 1. Installieren Sie die Go-Sprachumgebung. Zuerst müssen wir die Go-Sprachumgebung lokal installieren. Sie können auf der offiziellen Website das entsprechende Installationspaket herunterladen und installieren. 2. Installieren Sie die entsprechende Bibliothek. Die Go-Sprache bietet viele Bibliotheken von Drittanbietern für den Zugriff auf MySQL-Datenbanken, darunter die am häufigsten verwendeten

Inwieweit kann ich MySQL-Datenbankkenntnisse entwickeln, um erfolgreich eingesetzt zu werden? Mit der rasanten Entwicklung des Informationszeitalters sind Datenbankverwaltungssysteme zu einem unverzichtbaren und wichtigen Bestandteil in allen Lebensbereichen geworden. Als weit verbreitetes relationales Datenbankverwaltungssystem verfügt MySQL über ein breites Spektrum an Anwendungsfeldern und Einsatzmöglichkeiten. Inwieweit müssen also MySQL-Datenbankkenntnisse entwickelt werden, um erfolgreich eingesetzt zu werden? Zunächst einmal ist die Beherrschung der Grundprinzipien und Grundkenntnisse von MySQL die grundlegendste Voraussetzung. MySQL ist eine relationale Open-Source-Datenbankverwaltung

Wie verwende ich die MySQL-Datenbank für die Bildverarbeitung? MySQL ist ein leistungsstarkes relationales Datenbankverwaltungssystem, das nicht nur zum Speichern und Verwalten von Daten, sondern auch zur Bildverarbeitung verwendet werden kann. In diesem Artikel wird die Verwendung einer MySQL-Datenbank für die Bildverarbeitung vorgestellt und einige Codebeispiele bereitgestellt. Bevor Sie beginnen, stellen Sie sicher, dass Sie eine MySQL-Datenbank installiert haben und mit grundlegenden SQL-Anweisungen vertraut sind. Erstellen Sie eine Datenbanktabelle. Erstellen Sie zunächst eine neue Datenbanktabelle zum Speichern der Bilddaten. Der Aufbau der Tabelle kann wie folgt sein

Aufgrund der großen Datenmengen, die gespeichert und verarbeitet werden müssen, ist MySQL zu einer der am häufigsten verwendeten relationalen Datenbanken in der Anwendungsentwicklung geworden. Die Go-Sprache erfreut sich bei Entwicklern aufgrund ihrer effizienten Parallelitätsverarbeitung und prägnanten Syntax immer größerer Beliebtheit. Dieser Artikel führt die Leser dazu, eine zuverlässige MySQL-Datenbankverbindung über die Go-Sprache zu implementieren, sodass Entwickler Daten effizienter abfragen und speichern können. 1. Mehrere Möglichkeiten für die Go-Sprache, eine Verbindung zur MySQL-Datenbank herzustellen. Normalerweise gibt es drei Möglichkeiten, eine Verbindung zur MySQL-Datenbank in der Go-Sprache herzustellen: 1. Bibliothek eines Drittanbieters

In Golang können Datenbanksperren mithilfe von sync.Mutex oder Tx im Datenbank-/SQL-Paket implementiert werden. sync.Mutex eignet sich für nicht blockierende Vorgänge, während Tx die Ausführung einer Reihe von Vorgängen innerhalb einer Transaktion ermöglicht und sicherstellt, dass die Daten vor dem Festschreiben der Transaktion nicht geändert werden.
