sql >> Databasteknik >  >> RDS >> Mysql

Hur som helst för att begränsa MySQL-frågeexekveringstiden?

Det här är en ren php-lösning som verkar vara den enklaste lösningen från vad jag har lyckats hitta hittills.

$result = mysql_query("SHOW FULL PROCESSLIST");
while ($row=mysql_fetch_array($result)) 
{
  $process_id = $row["Id"];
  if ($row["Time"] > 200 ) 
  {
    $sql="KILL {$process_id}";
    mysql_query($sql);
  }
}

Och kör detta från ett CRON-skript var 60:e sekund.

Om någon hittar en bättre lösning på det här problemet vänligen meddela mig



  1. MySQL IFNULL() Förklarat

  2. hur man löser Allmänt fel:2014 Kan inte köra frågor medan andra obuffrade frågor är aktiva. använder PDO-anslutning

  3. Släpp icke namngivna begränsningar

  4. Återställ ROOT-lösenord i MySQL 5.6