Finden Sie das Problem Beim Abrufen der wichtigsten SQL-Anweisungen stellte ich fest, dass die Datenbank eine große Anzahl Detaillierte Einführung Die Hauptfunktion dieses SQL besteht darin, zu bestimmen, ob es sich bei der Transaktion um eine schreibgeschützte Transaktion handelt. MySQL selbst optimiert schreibgeschützte Transaktionen, was erst nach MySQL-Version 5.6.5 möglich ist. http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_tx_read_only Suchen Sie das MySQL-Treiberpaket ConnectionImpl.java: Wie Sie sehen, wird in der if-Bedingung die MySQL-Version beurteilt, und es gibt auch eine Bedingung Standardmäßig enthalten unsere Verbindungszeichenfolgeninformationen nicht die Einstellung des Parameters useLocalSessionState und dieser Wert ist standardmäßig auf „false“ eingestellt. Dieser Wert bestimmt, ob der Treiber die internen Werte von Autocommit, Read_Only und Transaktionsisolation (lokale Werte auf der JDBC-Seite) verwendet. Wenn der Wert auf „false“ gesetzt ist, müssen in den Szenarien, in denen diese drei Parameter beurteilt werden müssen, Anweisungen an die Remote-Anforderung gesendet werden, z. B. vor dem Aktualisieren der Anweisung. Sie müssen die Anweisung Wenn auf „true“ gesetzt, muss nur der lokale Wert übernommen werden. Dies kann erklären, warum einige Instanzen viele Im Allgemeinen kann der Treiber sicherstellen, dass der lokale Wert mit dem Wert des Remote-Servers übereinstimmt. Wenn die Anwendung die Schnittstellen setAutoCommit, setTransactionIsolation und setReadOnly aufruft, um Parameterwerte festzulegen, wird sie mit dem Remote-Server synchronisiert. Speziell, Wenn useLocalSessionState wahr ist und der Wert nicht mit dem lokalen Wert übereinstimmt, wird er an das Remote-Update gesendet. Wenn useLocalSessionState falsch ist, wird es jedes Mal an das Remote-Update gesendet, unabhängig davon, ob der festgelegte Wert mit dem lokalen Wert übereinstimmt. Dies könnte erklären, warum einige Instanzen mehr festgelegte Autocommit-Anweisungen haben. Wenn der Benutzer die Parameter jedoch nicht über die JDBC-Schnittstelle (z. B. „setAutoCommit“) festlegt, sondern Zugehörige SQL-Anweisungen zu Einstellungen: set autocommit=0 /*Setze den Auto-Commit-Modus der Sitzung*/ Entsprechende JDBC-Schnittstelle: setAutoCommit(false) set tx_isolation='read-committed' /*Isolationsebene für Transaktionen festlegen*/ Entsprechende JDBC-Schnittstelle: setTransactionIsolation('read-committed') set tx_read_only=0; /*Schreibgeschützte Transaktion festlegen*/ Entsprechende JDBC-Schnittstelle: setReadOnly(false) Das Festlegen des Standardwerts von useLocalSessionState auf „true“ kann zu Bedeutungsänderungen in der Geschäftslogik führen. Die Auslösebedingung besteht darin, dass der Benutzer den Auto-Commit-Parameter, den Isolationsebenenparameter oder den schreibgeschützten Transaktionsparameter direkt über SQL-Anweisungen festlegt. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: So führen Sie py-Dateien direkt unter Linux aus
>>: So lassen sich Python-Skripte direkt unter Ubuntu ausführen
Inhaltsverzeichnis Schritt 1: Installieren Sie no...
Erster Blick auf die Wirkung: Vorwort: Auf diese ...
Suchen Sie die ID des laufenden Containers Docker...
Inhaltsverzeichnis 1. Zahlen umkehren 2. Holen Si...
Auf Webseiten begegnen wir häufig dieser Situatio...
Nginx-Server nginx ist ein ausgezeichneter Webser...
Inhaltsverzeichnis 1. Installation: 2. Verwendung...
Mit REGELN kann die Art der inneren Rahmen der Ta...
Frage Als ich kürzlich ein praktisches Projekt mi...
Nehmen wir ein Beispiel: Der Code ist sehr einfach...
Ich bin vor ein paar Tagen mit dem Bus zur Arbeit...
Der Autor arbeitet seit über einem Jahr an einem ...
Schritt 1: Installieren Sie den tiefen "Graf...
Mit dem img-Element können wir Bilder in HTML-Dok...
Inhaltsverzeichnis 1. Zeigen Sie die Tabellen in ...