Maison >base de données >tutoriel mysql >Comment appliquer des délais d'exécution pour les requêtes MySQL ?

Comment appliquer des délais d'exécution pour les requêtes MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-06 00:08:42357parcourir

How to Enforce Execution Time Limits for MySQL Queries?

Application des limites de temps d'exécution pour les requêtes MySQL

Lors de l'exécution de requêtes MySQL, vous pouvez rencontrer des scénarios dans lesquels des temps d'exécution excessifs deviennent indésirables. Pour atténuer cela, MySQL a introduit un mécanisme permettant de définir des limites d'exécution maximales pour certaines requêtes.

Comment définir des limites de temps d'exécution

À partir de MySQL 5.7.4, vous pouvez spécifiez les délais d'exécution en millisecondes à l'aide de l'indice MAX_EXECUTION_TIME :

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

où 1000 représente le maximum temps en millisecondes. Cependant, cet indice ne fonctionne que pour les instructions SELECT en lecture seule.

Variable renommée dans MySQL 5.7.8

Dans MySQL 5.7.8, l'indice a été renommé max_execution_time . En conséquence, la requête modifiée deviendrait :

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

Limitations

Il est important de noter que cette limite de temps d'exécution s'applique uniquement à l'instruction SELECT la plus externe. Si la requête contient des requêtes imbriquées ou des sous-requêtes, la limite ne peut pas être héritée. De plus, cette fonctionnalité n'est pas disponible pour d'autres opérations telles que les instructions INSERT, UPDATE ou DELETE.

Conclusion

En utilisant l'indice MAX_EXECUTION_TIME, vous pouvez contrôler la durée maximale MySQL passe à exécuter certaines requêtes SELECT en lecture seule. Cela permet d'empêcher les requêtes incontrôlables de monopoliser les ressources du serveur et garantit de meilleures performances dans les scénarios où le temps d'exécution est critique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn