So begrenzen Sie die SQL-Ausführungszeit

8

Einige SQL ist nicht gut geschrieben. Manchmal kostet eine Suche Stunden in Anwendungen. Wenn eine Anwendung (vielleicht eine Website) eine Anfrage einreicht, die lange läuft, muss ich mysql neu starten. Wie kann ich die Ausführungszeit einer SQL-Abfrage auf der Datenbankseite begrenzen?

    
worldterminator 02.08.2012, 07:26
quelle

4 Antworten

8

Um eine Abfrage in MySQL nach einer langen Ausführungszeit automatisch zu beenden:

  1. Erstellen Sie eine gespeicherte Prozedur als:

    %Vor%

    dann in der curosr-Schleife:

    %Vor%
  2. Erstellen Sie EVENT FOR EVERY 5 SECONDS und just CALL die obige Prozedur darin.

Hinweis: KILL QUERY beendet nur die Abfrage und die MySQL-Verbindung ist nicht unterbrochen. siehe hier .

    
Omesh 02.08.2012, 07:33
quelle
2

Wenn möglich, können Sie auch versuchen, die mysql-Verzweigung von Twitter zu verwenden, die "max_statement_time" unterstützt und eine Abfrage mit einer Millisekunden-Granularität überschreibt.

Siehe Ссылка und Ссылка

Ursprüngliche Quelle .

    
Radu Maris 02.08.2012 07:50
quelle
0

Die einzige Möglichkeit besteht darin, SHOW PROCESSLIST eine andere Sitzung zu öffnen und dann KILL QUERY , die Sie beenden möchten.

Sie können das Befehlszeilenprogramm mysqladmin verwenden, um diese Befehle auszugeben.

    
NullPoiиteя 02.08.2012 07:30
quelle
0

Dies ist möglicherweise nicht die exakte Lösung, um die SQL-Ausführungszeit wiederherzustellen, aber ich denke, es wird hilfreich sein. Sie müssen Ihren MySQL-Server nicht neu starten.

Versuchen Sie es mit einem MySQL GUI Tool wie SQLyog . Dort können Sie die ausgeführte Abfrage manuell stoppen (klicken Sie auf die X-Schaltfläche im Screenshot), wenn Sie der Meinung sind, dass es länger dauert.

Und außerdem können Sie den Abfrageprozess auch beenden, indem Sie auf die Prozessliste zugreifen. Überprüfen Sie die anderen beiden Bilder im Screenshot mit Schritten zum Beenden von Prozessen ...

Ich hoffe, es hilft ....

    
Shubhansh 02.08.2012 07:45
quelle

Tags und Links

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '367983',
    'url' => 'how-to-limit-the-sql-execution-time',
];

$_SESSION = [
    '__flash' => [],
];