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

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

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-06 00:08:42307ブラウズ

How to Enforce Execution Time Limits for MySQL Queries?

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

MySQL クエリを実行するときに、過度の実行時間が望ましくないシナリオに遭遇することがあります。これを軽減するために、MySQL は特定のクエリに最大実行制限を設定するメカニズムを導入しました。

実行時間制限を設定する方法

MySQL 5.7.4 以降では、次のことが可能になります。 MAX_EXECUTION_TIME を使用して実行時間制限をミリ秒単位で指定しますヒント:

SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM table;

ここで、1000 はミリ秒単位の最大時間を表します。ただし、このヒントは読み取り専用の SELECT ステートメントでのみ機能します。

MySQL 5.7.8 で名前が変更された変数

MySQL 5.7.8 では、ヒントの名前は max_execution_time に変更されました。 。したがって、変更されたクエリは次のようになります。

SELECT /*+ max_execution_time(1000) */ * FROM table;

制限事項

この実行時間制限は最も外側の SELECT ステートメントにのみ適用されることに注意することが重要です。クエリにネストされたクエリまたはサブクエリが含まれている場合、制限は継承されない可能性があります。さらに、この機能は、INSERT、UPDATE、DELETE ステートメントなどの他の操作では使用できません。

結論

MAX_EXECUTION_TIME ヒントを利用すると、最大時間を制御できます。 MySQL は、特定の読み取り専用 SELECT クエリの実行に時間を費やします。これにより、クエリの暴走によるサーバー リソースの独占が防止され、実行時間が重要なシナリオでのパフォーマンスの向上が保証されます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。