質問: CakePHP で作られている特定の検索画面から `$this->[モデル]->find...` メソッドでクエリを実行した際、MySQL のタイムアウト時間を指定したいです。 `set_time_limit()` 関数ですとスクリプトのタイムアウトは有効ですが、DBの処理時間は対応していないようです。 そもそも可能なのか、分かる方がいらしたらご教授お願いします。 * CentOS :6.3 * PHP :5.3.3 * MySQL :5.1.58 * CakePHP :2.3.9
回答: 今のところできないと思います。MySQL5.7.4以降でできるようになるようです。PostgreSQLでは可能なのですが。 どうしてもやろうと思うなら、`show processlist` を叩いて実行時間の長いQueryをkillするスクリプトを実行しまくるとか、`information_schema.processlist` から同様のことをするかしかないのではないでしょうか。