Mettre à jour
Depuis MySQL 5.7, vous pouvez inclure un MAX_EXECUTION_TIME
indice d'optimisation dans votre SELECT
requêtes pour demander au serveur de l'arrêter après l'heure spécifiée.
Autant que je sache, si vous souhaitez appliquer un délai d'attente à l'échelle du serveur ou si vous vous souciez des requêtes autres que SELECT
s, la réponse d'origine reste votre seule option.
Réponse originale
Il n'y a aucun moyen de spécifier une durée d'exécution maximale lors de l'envoi d'une requête au serveur à exécuter.
Cependant, il n'est pas rare d'avoir une tâche cron qui s'exécute toutes les secondes sur votre serveur de base de données, se connectant et faisant quelque chose comme ceci :
- AFFICHER LA LISTE DES PROCESSUS
- Recherchez toutes les connexions avec un temps de requête supérieur à votre temps maximum souhaité
- Exécutez KILL [process id] pour chacun de ces processus