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 ジョブを設定することを提案しています。このアプローチには、次の手順の実行が含まれます。
追加の考慮事項:
MAX_EXECUTION_TIME ヒントは便利ですが、SELECT クエリにのみ適用され、サーバー レベルで強制することはできません。 cron ジョブのアプローチは、すべてのクエリ タイプに対して時間制限を適用するためのより堅牢なソリューションを提供します。
以上がMySQL でクエリの実行時間を制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。