Heim  >  Artikel  >  Datenbank  >  Gängige Datenbankklassifizierungsmethoden

Gängige Datenbankklassifizierungsmethoden

angryTom
angryTomOriginal
2019-10-30 14:08:293422Durchsuche

Gängige Datenbankklassifizierungsmethoden

Gemeinsame Datenbankklassifizierungsmethoden

Mit der kontinuierlichen Entwicklung des Internets können Unternehmen auch immer mehr Methoden verwenden. und heute werfen wir einen Blick auf die gängigen Datenklassifizierungsmethoden.

1, Unverbindlich lesen.

bedeutet, dass eine Transaktion den nicht festgeschriebenen Inhalt einer anderen Transaktion liest. Diese Situation muss vermieden werden. Da nicht festgeschriebene Daten aus anderen Transaktionen jederzeit zurückgesetzt werden können, sollte es Programmen zu keinem Zeitpunkt gestattet sein, nicht festgeschriebene Daten aus einer Transaktion zu lesen. Werden nicht festgeschriebene Daten aus einer anderen Transaktion gelesen, spricht man von einem Dirty Read. Um das Problem schmutziger Lesevorgänge zu lösen, können Sie die Transaktionsisolationsstufe der Datenbank erhöhen und die Transaktionsisolationsstufe auf festgeschriebenen Lesevorgang festlegen.

2, Read Committed.

Diese Isolationsstufe kann das Problem schmutziger Lesevorgänge lösen.

Unter dieser Isolationsstufe ist die parallele Ausführung zwischen zwei nicht festgeschriebenen Transaktionen nicht zulässig, sie ermöglicht jedoch die Ausführung und Übermittlung einer anderen Transaktion während der Ausführung einer Transaktion. Auf diese Weise kann es vorkommen, dass die Werte einer bestimmten Datenzeile, die vor und nach einer Transaktion zweimal ausgewählt wird, unterschiedlich sein können. Der Grund für die Wertänderung liegt darin, dass die Zwischentransaktion 2 einen Aktualisierungsvorgang für die Datenzeile durchgeführt hat. In derselben Transaktion wird das Problem der zweimaligen Auswahl unterschiedlicher Werte als nicht wiederholbares Leseproblem bezeichnet. Um das Problem des nicht wiederholbaren Lesens zu lösen, müssen Sie die Isolationsstufe der Daten auf wiederholbares Lesen einstellen.

3, kann wiederholt gelesen werden. Wiederholbares Lesen.

Unter dieser Isolationsstufe kann das Problem nicht wiederholbarer Lesevorgänge gelöst werden.

Unter dieser Isolationsstufe ist es anderen Transaktionen nicht gestattet, die Daten einer bestimmten Zeile zu verarbeiten, während eine Transaktion die Daten einer bestimmten Zeile verwendet. Wiederholbare Lesevorgänge sollten Datenbankzeilen Sperren hinzufügen. Unter dieser Isolationsstufe ist es anderen Transaktionen weiterhin gestattet, Daten in die Tabelle einzufügen und zu löschen, sodass es so aussieht, als ob während der Ausführung von Transaktion 1 Zeilen, die eine bestimmte Bedingung erfüllen, zweimal ausgewählt werden, wenn zwischen diesen beiden Nach der zweiten Auswahl Wenn eine weitere Transaktion ausgeführt wird, sind die Ergebnisse der beiden Auswahlen, die dieselben Bedingungen erfüllen, unterschiedlich. Daher wurde auch dieses Problem gelöst . Um das Phantomleseproblem zu lösen, müssen Sie die Isolationsstufe der Datenbank auf Serialisierung einstellen.

4. Serialisierung.

Serialisierung kann das Problem des Phantomlesens lösen.

Es erfordert, dass die Ausführung von Transaktionen vollständig serialisiert ist. Dadurch geht die Effizienz der Parallelität verloren.

Die Standardisolationsstufe von MySQL ist wiederholbares Lesen.

Kurz gesagt, es gibt 4 Transaktionsisolationsstufen für Daten, von niedrig bis hoch: nicht festgeschrieben lesen, festgeschrieben lesen, wiederholbar lesen und serialisiert. Es gibt drei Probleme im Zusammenhang mit der Isolationsstufe von Datenbanktransaktionen: Dirty Reads, nicht wiederholbare Lesevorgänge und Phantom Reads. Das Dirty-Read-Problem muss durch Read Commit gelöst werden, aber Read Commit führt zu nicht wiederholbaren Leseproblemen. Das Problem des nicht wiederholbaren Lesens muss durch wiederholbares Lesen gelöst werden, aber wiederholbares Lesen führt zu Phantomleseproblemen. Das Phantomleseproblem muss durch Serialisierung gelöst werden.

Empfehlen Sie „MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonGängige Datenbankklassifizierungsmethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn