Was ist eine große Sache? Transaktionen, die über einen langen Zeitraum ausgeführt werden und für die über einen langen Zeitraum keine Festschreibung erfolgt, können als große Transaktionen bezeichnet werden. Die Ursachen des Großkapitals
Die Wirkung großer Ereignisse
So fragen Sie große Transaktionen ab **Hinweis**: Die SQL-Operationen in diesem Artikel basieren auf MySQL Version 5.7 Nehmen wir als Beispiel eine Abfrageausführungszeit von mehr als 10 Sekunden: wähle \* aus information\_schema.innodb\_trx, wobei TIME\_TO\_SEC(timediff(now(),trx\_started))>10 So vermeiden Sie große Transaktionen Allgemeine Lösung
Lösung basierend auf mysql5.7
Anhang: Abfragetransaktionsbezogene Anweisungen **Hinweis**: SQL-Anweisungen basieren auf MySQL Version 5.7 # Abfrage aller laufenden Transaktionen und deren Laufzeit select t.\*,to\_seconds(now())-to\_seconds(t.trx\_started) idle\_time from INFORMATION\_SCHEMA.INNODB\_TRX t # Transaktionsdetails abfragen und SQL ausführen Wählen Sie jetzt (), (UNIX\_TIMESTAMP (jetzt ()) - UNIX\_TIMESTAMP (a.trx\_started)) diff\_sec, b.id, b.user, b.host, b.db, d.SQL\_TEXT aus information\_schema.innodb\_trx ein innerer Join information\_schema.PROCESSLIST b auf a.TRX\_MYSQL\_THREAD\_ID=b.id und b.command = 'Sleep' Innerer Join Performance\_Schema.Threads c ON b.id = c.PROCESSLIST\_ID innerer Join Performance\_Schema.Events\_Statements\_current d ON d.THREAD\_ID = c.THREAD\_ID; # Abfrage aller historischen SQL-Datensätze, die von der Transaktion SELECT ausgeführt wurden ps.id 'PROZESS-ID', ps.BENUTZER, ps.HOST, esh.EVENT_ID, trx.trx_started, esh.event\_name 'EREIGNISNAME', esh.sql\_text 'SQL', ps.Zeit AUS PERFORMANCE\_SCHEMA.events\_statements\_history esh JOIN PERFORMANCE\_SCHEMA.threads th ON esh.thread\_id = th.thread\_id JOIN information\_schema.PROCESSLIST ps ON ps.id = th.processlist\_id LEFT JOIN Informationen\_schema.innodb\_trx trx ON trx.trx\_mysql\_thread\_id = ps.id WO trx.trx_id IST NICHT NULL UND ps.USER != 'SYSTEM\_USER' BESTELLEN BIS esh.EVENT_ID; # Einfache Abfragetransaktionssperre select \* from sys.innodb\_lock\_waits #Transaktionssperrdetails abfragenSELECT temporär.*, c.SQL\_Textblockierung\_sql\_text, p.HOST blockiert\_host AUS ( WÄHLEN r.trx_state beobachtet_trx_state, r.trx_id warte_trx_id, r.trx\_mysql\_thread\_Id wartender\_Thread, r.trx_query warte_abfrage, b.trx_state Blockierender_trx_state, b.trx_id blockierende_trx_id, b.trx\_mysql\_thread\_id blockierender\_Thread, b.trx_query blockierende_Abfrage AUS information\_schema.innodb\_lock\_waits w INNER JOIN information\_schema.innodb\_trx b ON b.trx\_id = w.blocking\_trx\_id INNER JOIN information\_schema.innodb\_trx r ON r.trx\_id = w.requesting\_trx\_id ) tmp, information\_schema.PROCESSLIST p, PERFORMANCE\_SCHEMA.events\_statements\_current c, PERFORMANCE\_SCHEMA.threads t WO tmp.blocking_thread = p.id UND t.thread_id = c.THREAD_ID UND t.PROCESSLIST_ID = p.id Oben finden Sie Einzelheiten dazu, wie Sie große Transaktionen in MySQL vermeiden und wie Sie große Transaktionen lösen können. Weitere Informationen zu großen MySQL-Transaktionen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Implementierung mehrerer Tomcat-Instanzen auf einer einzigen Maschine
>>: Implementierung von TypeScript im React-Projekt
In diesem Artikel erfahren Sie mehr über die Inst...
Inhaltsverzeichnis Die Fallstricke Füllmethode Wa...
1. MySQL-Index Index: Eine Datenstruktur, die MyS...
In diesem Artikel wird der spezifische Code zur V...
Die Datensatzsperre sperrt einen einzelnen Indexd...
LocalStorage speichert Boolesche Werte Als ich he...
Anmeldung + SessionStorage Effektanzeige Nach ein...
Inhaltsverzeichnis Vorwort MySQL Master-Slave-Rep...
In diesem Artikel wird hauptsächlich der Beispiel...
Dieser Artikel beschreibt, wie Sie einen sekundär...
Wenn wir das Platzhalterzeichen „like %“ verwende...
Die erste Webseite, die ich entworfen habe, sieht...
<a href="https://www.jb51.net/" titl...
Designer verfügen über eine eigene Schriftartenbi...
Inhaltsverzeichnis 1. Prinzip der Animationsfunkt...