Maison  >  Article  >  base de données  >  Comment puis-je limiter le temps d’exécution des requêtes dans MySQL ?

Comment puis-je limiter le temps d’exécution des requêtes dans MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-16 06:29:03669parcourir

How Can I Limit Query Execution Time in MySQL?

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

Question : Puis-je configurer MySQL pour restreindre le temps d'exécution des requêtes ?

Réponse : Historiquement, MySQL ne disposait pas d'un mécanisme intégré permettant de limiter le temps d'exécution des requêtes. Cependant, les mises à jour récentes de MySQL 5.7 introduisent l'indice d'optimisation MAX_EXECUTION_TIME.

Indice d'optimisation MAX_EXECUTION_TIME :

À partir de MySQL 5.7, vous pouvez inclure l'indice d'optimisation MAX_EXECUTION_TIME dans les requêtes SELECT. . Cet indice demande au serveur de mettre fin à la requête si elle dépasse le délai spécifié.

SELECT * FROM table_name WHERE condition LIMIT 1 MAX_EXECUTION_TIME=10;

Délai d'expiration à l'échelle du serveur :

Si vous avez besoin d'un délai d'attente à l'échelle du serveur délai d'attente ou besoin de limiter les requêtes autres que les SELECT, la réponse originale fournie reste votre meilleure option.

Approche de la tâche Cron :

La réponse originale suggère de configurer une tâche cron qui vérifie et met périodiquement fin à toutes les requêtes dépassant un délai prédéfini. Cette approche implique d'exécuter les étapes suivantes :

  1. Exécutez SHOW PROCESSLIST pour récupérer une liste des processus en cours d'exécution.
  2. Identifiez les processus dont les temps de requête dépassent la limite souhaitée.
  3. Utilisez KILL [identifiant du processus] pour mettre fin aux processus incriminés.

Considérations supplémentaires :

Bien que l'indice MAX_EXECUTION_TIME soit pratique, il ne s'applique qu'aux requêtes SELECT et ne peut pas être appliqué au niveau du serveur. L'approche des tâches cron fournit une solution plus robuste pour appliquer des délais pour tous les types de requêtes.

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