MySQLクエリのタイムアウト問題の解決

3496 ワード

MySQLクエリのタイムアウトの問題は何ですか?どうやって解決すればいいですか?MySQLクエリーのタイムアウト問題の解決方法について詳しく説明します.

  
  
  
  
  1. mysql>show variables like '%timeout';   
  2.  

印刷結果は次のとおりです.

  
  
  
  
  1. +----------------------------+-------+   
  2. | Variable_name | Value |   
  3. +----------------------------+-------+   
  4. | connect_timeout | 5 |   
  5. | delayed_insert_timeout | 300 |   
  6. | interactive_timeout | 28800 |   
  7. | net_read_timeout | 30 |   
  8. | net_write_timeout | 60 |   
  9. | slave_net_timeout | 3600 |   
  10. | wait_timeout | 28800 |   
  11. +----------------------------+-------+   
  12.  

interactive_timeoutはmysqlで接続()設定CLIENT_INTERCIVEオプションが有効になり、wait_に割り当てられます.timeout;
mysql>set wait_timeout = 10; 現在のインタラクティブリンクに有効です.mysql>set interactive_timeout = 10; 後続のインタラクティブリンクに有効です.
このタイムアウト時間の単位は秒で、変数は前回のSQL実行後から計算されます.現在の空き時間がこの時間を超えると、強制的に切断されます.
interactive_timeout
The number of seconds the server waits for activity on an interactive connection before closing it. An interactive client is defined as a client that uses the CLIENT_INTERACTIVE option to mysql_real_connect(). See also wait_timeout.
訳文:クライアントとサーバが対話するアイドルタイムアウト時間.このシステム変数は、クライアントがサーバに接続しているときに「MYSQL_CLIENT_INTERCIVE」フラグが設定されている場合にのみ有効です.たとえば、次のようになります.

  
  
  
  
  1. // MYSQL_CLIENT_INTERACTIVE ,  
  2.  
  3. $link = mysql_connect($host, $user, $pwd, false, MYSQL_CLIENT_INTERACTIVE);  
  4.