Extension des limites d'exécution des requêtes dans MySQL
Limiter le temps d'exécution des requêtes est un aspect crucial de la gestion des bases de données. Dans MySQL, le contrôle de l'exécution des requêtes peut aider à empêcher les requêtes de longue durée de consommer des ressources excessives et d'affecter les performances globales de la base de données.
Amélioration des délais d'expiration des requêtes avec MAX_EXECUTION_TIME
Depuis MySQL 5.7, l'indicateur d'optimisation MAX_EXECUTION_TIME fournit un moyen pratique de limiter le temps d'exécution spécifiquement pour les requêtes SELECT. En incluant cet indice dans une requête, vous pouvez demander au serveur de mettre fin à la requête après la durée spécifiée. Cela fournit une approche spécifique aux requêtes pour contrôler le temps d'exécution.
Application des délais d'attente à l'échelle du serveur
Pour un contrôle plus large sur les temps d'exécution des requêtes, une approche à l'échelle du serveur est nécessaire. Malheureusement, MySQL ne propose pas de mécanisme intégré permettant de définir un temps d'exécution maximum pour toutes les requêtes. Cependant, il existe des solutions alternatives qui impliquent l'utilisation d'outils externes ou la mise en œuvre d'un mécanisme de surveillance personnalisé.
Surveillance personnalisée avec des tâches Cron
Une méthode couramment utilisée consiste à établir un cron travail qui s'exécute périodiquement sur le serveur de base de données. La tâche cron peut se connecter à la base de données et exécuter une requête telle que « SHOW PROCESSLIST » pour récupérer des informations sur les processus en cours d'exécution. En filtrant les requêtes qui ont dépassé une durée maximale prédéfinie, la tâche cron peut exécuter « KILL [process id] » pour mettre fin à ces processus.
Cette approche de surveillance manuelle offre de la flexibilité et permet de personnaliser le délai d'expiration. Cependant, il nécessite une maintenance continue et peut ne pas être aussi efficace que les contrôles directs côté serveur.
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!