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 Vorwort Szenarien für die Verw...
Die GtkTreeView-Komponente ist eine erweiterte Ko...
Die Volltextindizierung erfordert eine spezielle ...
Inhaltsverzeichnis Pagoda installieren Management...
1. Erstellen Sie eine Seite mit app.json Gemäß un...
Schauen Sie sich zunächst das Wirkungsdiagramm an...
Inhaltsverzeichnis Vorwort Komponenteneinführung ...
Als mir diese Frage gestellt wurde, war ich unwis...
Hintergrund: Position: Sticky wird auch Sticky-Po...
Phänomen Das System konnte den Linux-Systemkernel...
Jeder, der meine Artikel in letzter Zeit gelesen ...
Technologie nutzen itext.jar: Konvertiert den Byt...
Hintergrund Wenn die von Tomcat generierte catali...
So beheben Sie den Fehler beim MySQL-Transaktions...
Heute werden wir uns ansehen, warum es zu Master-...