Wie kann ich SQL-Abfragen ausführen, die länger als 99,999 Sekunden in MySQL Workbench sind?

8

UPDATE: Das Problem ist jetzt behoben .

Ich möchte eine Abfrage ausführen, die mehr als 99,999 Sekunden für die Ausführung benötigt (z. B. SELECT SLEEP(150000); ). Um das Zeitlimit in MySQL Workbench zu ändern, müssen wir zu Bearbeiten → Einstellungen → SQL Editor → Zeitüberschreitung beim Lesen der DBMS-Verbindung (in Sekunden) gehen. Das Feld DBMS connection read time out akzeptiert jedoch nur bis zu 5 Ziffern, und das Festlegen des Felds auf 0 entspricht dem Standardparameter (600 Sekunden). Wenn die Abfrage mehr Zeit als die Zeitüberschreitung benötigt, erhalte ich die Fehlermeldung: Error Code: 2013. Lost connection to MySQL server during query

Daher meine Frage: Ist es möglich, dieses Limit auf über 99.999 Sekunden zu erhöhen? Ich benutze Windows 7 64-Bit Ultimate mit MySQL Workbench 5.2.47 CE.

Das DBMS connection read time out -Feld:

Timeout-Problem (0 entspricht dem Standardparameter (600 Sekunden)):

    
Franck Dernoncourt 01.06.2013, 21:47
quelle

3 Antworten

4

Wahrscheinlich hat noch nie jemand gedacht, dass Sie eine so hohe Zeit brauchen würden, also sind Sie auf das beschränkt, was momentan einstellbar ist. Öffnen Sie jedoch eine Feature-Anforderung auf Ссылка , um entweder das Deaktivieren des Zeitlimits ganz zu deaktivieren oder größere Werte zuzulassen.

    
Mike Lischke 03.06.2013, 16:39
quelle
1

Nun, in Europa betrachten wir das Komma als Dezimaltrennzeichen. Hast du eigentlich 100k Sekunden gemeint? Ich sehe in deinen Kommentaren, dass du mit 50 GB arbeitest. Trotzdem, wenn du länger als eine Stunde brauchst, hast du die Indeces verpasst. Sie müssen wissen, dass sie in einer einzigen Abfrage nicht ordnungsgemäß neu erstellt werden. Wenn Sie also an einer massiven Einfügung teilnehmen, erhalten Sie das kartesische Produkt aus Zeilen gescannt - mit anderen Worten, Ihre Abfrage könnte wochen- oder sogar monatelang ausgeführt werden.

Lösung:

1) Grunddaten eingeben, hier keine Joins verwenden. 2) Ändern Sie die Tabelle, um den Index festzulegen. 3) Run "ANALYSE" 4) Alles andere tun.

Wenn Sie das Gefühl haben, dass Sie beim Ausführen dieses Verfahrens Probleme haben, fügen Sie Ihrer Abfrage das Schlüsselwort EXPLAIN voran und veröffentlichen Sie die Ergebnisse.

(Ich habe einen Cronjob, der alle 30 Minuten etwa 80 GB importiert - MySQL kann das sicher handhaben.)

    
Zsolt Szilagy 01.06.2013 22:45
quelle
1

Dieses Problem wurde in MySQL Workbench 6.0.3 (2013-07-09) behoben: Siehe den Fehlerbericht und das Änderungsprotokoll .

    
Franck Dernoncourt 03.11.2015 03:20
quelle

Tags und Links