Wie Sie sagen, wenn ein MySQL-Prozess hängen geblieben ist?
Habe ich ein lang andauernder Prozess in MySQL. Es läuft schon eine Woche. Es ist eine andere Verbindung, einer die Replikation master, aber ich hab halt slave-Verarbeitung, so dass es effektiv nichts anderes passiert.
Wie kann ich feststellen, ob dieser Prozess noch läuft? Ich wusste, es würde lange dauern, das ist der Grund, warum ich es auf seine eigene Datenbank-Instanz, aber das ist mehr als ich erwartete. Wenn es offensichtlich noch Arbeit, ich will nicht um es zu töten. Wenn es zombied, dann weiß ich nicht, wie man die Arbeit erledigt, dass es eigentlich zu tun.
Es ist in dem "Daten Senden" - Zustand. Die Tabelle ist InnoDB ein, aber ohne FK-Referenzen, die von der Abfrage verwendet. Die InnoDB status zeigt keine Fehler oder sperren, da die Abfrage gestartet.
Irgendwelche Gedanken sind geschätzt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, "SHOW PROCESSLIST" zu sehen, was aktiv ist.
Natürlich, wenn Sie es töten, kann es dann wollen, nehmen Sie nur so viel Zeit Rollen Sie wieder.
Die Sie brauchen, um es zu töten und kommen mit besseren Indizes.
Ich habe einen job für einen Kerl. Hatte eine Tabelle mit über 35 Millionen Zeilen. Seine batch-Prozess, wie bei Ihnen ausgeführt worden eine Woche, und ein Ende ist nicht in Sicht. Ich habe einige Indizes, einige änderungen vorgenommen, um die Reihenfolge und die Methoden seiner batch-Prozess, und hab die ganze Sache bis zu etwa zwei und eine halbe Stunden. Auf langsameren Maschinen.
Gegeben, was Sie gesagt haben, es ist nicht stecken geblieben. Jedoch, das ist absolut keine Garantie, daß es tatsächlich fertig, in so etwas wie einen angemessenen Betrag von Zeit. Hinzufügen von Indizes wird mit ziemlicher Sicherheit helfen, und je nach Art der Abfrage Umgestaltung in eine Reihe von Abfragen, temporäre Tabellen könnte möglicherweise geben Sie einen enormen performance-Schub. Ich würde vorschlagen, warten, um für ihn vielleicht fertig stellen.
Für eine bessere Leistung auf eine Datenbank, in der Größe, möchten Sie vielleicht, um ein Dokument-basierte Datenbank wie mongoDB. Es wird mehr Platz auf der Festplatte zum speichern der Datenbank, aber je nach Ihrem aktuellen schema, erhalten Sie möglicherweise viel bessere Leistung.