ホームページ > データベース > mysql チュートリアル > MySQL でクエリの実行時間を制限するにはどうすればよいですか?

MySQL でクエリの実行時間を制限するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-16 06:29:03
オリジナル
739 人が閲覧しました

How Can I Limit Query Execution Time in MySQL?

MySQL でのクエリ実行時間制限の強制

質問: の実行時間を制限するように MySQL を設定できますか?クエリ?

答え: 歴史的に、MySQL にはクエリの実行時間を制限するための組み込みメカニズムがありませんでした。ただし、MySQL 5.7 の最近の更新では、MAX_EXECUTION_TIME オプティマイザー ヒントが導入されています。

MAX_EXECUTION_TIME オプティマイザー ヒント:

MySQL 5.7 では、SELECT クエリに MAX_EXECUTION_TIME オプティマイザー ヒントを含めることができます。 。このヒントは、指定された制限時間を超えた場合にクエリを終了するようにサーバーに指示します。

SELECT * FROM table_name WHERE condition LIMIT 1 MAX_EXECUTION_TIME=10;
ログイン後にコピー

サーバー全体のタイムアウト:

サーバー全体のタイムアウトが必要な場合タイムアウトになったり、SELECT 以外のクエリを制限する必要がある場合は、提供された元の回答が最善のままですoption.

Cron ジョブのアプローチ:

元の回答では、事前定義された時間制限を超えるクエリを定期的にチェックして終了する cron ジョブを設定することを提案しています。このアプローチには、次の手順の実行が含まれます。

  1. SHOW PROCESSLIST を実行して、実行中のプロセスのリストを取得します。
  2. クエリ時間が目的の制限を超えているプロセスを特定します。
  3. KILL [プロセス ID] を使用して問題のあるプロセスを終了しますprocess.

追加の考慮事項:

MAX_EXECUTION_TIME ヒントは便利ですが、SELECT クエリにのみ適用され、サーバー レベルで強制することはできません。 cron ジョブのアプローチは、すべてのクエリ タイプに対して時間制限を適用するためのより堅牢なソリューションを提供します。

以上がMySQL でクエリの実行時間を制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート