2009-07-02 8 views
3

私のサーバーの1つで奇妙な問題が発生しました。遅延したmysqlの挿入があることがわかりますMySQL設定からMYSQL遅延インサートを停止する方法はありますか?

+--------+----------------+-----------+------------------+----------------+------+--------------------+------------------------------------------------------------------------------------------------------+ 
| Id  | User   | Host  | db    | Command  | Time | State    | Info                         | 
+--------+----------------+-----------+------------------+----------------+------+--------------------+------------------------------------------------------------------------------------------------------+ 
| 219586 | DELAYED  | localhost | XXXX    | Delayed insert | 202 | Waiting for INSERT |                          | 

ほとんど使用されないデータベースにあります。私がMySQLのマニュアルから理解したところから、これらの挿入は、バッチ/ブロックで挿入を書き込むために高度に使用されるデータベースを最適化するために、他の挿入を待っています。残念なことに、この方法は大量のメモリを消費し、まれに利用されているデータベースでは非常に効率が悪いと言われています。この特定のケースでは、そのデータベースに1日に10-20件のクエリしかありません。これにより、遅延が非常に大きくなります。他のデータベース/ユーザにも同様の問題があり、追加するとMySQLのメモリ使用量とCPUが読み込まれるように見えます。

遅延クエリの遅延を防ぐ方法はありますか? makeは通常のクエリのように動作しますか?

ありがとうございます!

乾杯、 Venetsian。

答えて

5
  1. あなたはTABLESをフラッシュするか、そのジョブを完了そのスレッドを強制的に「219586をKILL」と出
  2. 設定max_delayed_threads=0設定ファイルにと遅延機能を無効にするには、インスタンスを再起動する場合があり、完全に
  3. 読むドキュメントは - それがより速くなるでしょう。フォーラムで6時間待っているより
+4

@noonex - 6hは、特にMySqlのドキュメントを解読しようとするよりも痛みを伴いません。 – Rob

1

そのスレッドについて心配しないでください。将来的に挿入が遅れている場合に備えておくだけです。それは実際には何もしていません..

関連する問題