Maison > base de données > tutoriel mysql > Pourquoi mon application MySQL continue-t-elle d'afficher « L'instruction préparée doit être re-préparée » ?

Pourquoi mon application MySQL continue-t-elle d'afficher « L'instruction préparée doit être re-préparée » ?

Susan Sarandon
Libérer: 2024-12-03 22:07:12
original
320 Les gens l'ont consulté

Why Does My MySQL Application Keep Showing

MySQL rencontre l'erreur « L'instruction préparée doit être re-préparée »

Problème :
Lors de la migration un site Web basé sur PHP avec des procédures stockées MySQL vers un serveur d'hébergement, les utilisateurs rencontrent des erreurs fatales répétées indiquant "Une instruction préparée doit à re-préparer." Ce problème se manifeste de manière incohérente, entraînant une alternance de chargements de pages réussis et échoués.

Réponse :

La cause sous-jacente est un bug MySQL connu (#42041) lié au table_definition_cache paramètre. MySQL recommande d'augmenter la valeur de ce paramètre pour résoudre le problème.

Solution :

  1. Ajustez le fichier de configuration MySQL (par exemple, my.cnf).
  2. Localisez le paramètre table_definition_cache et augmentez sa valeur.
  3. Redémarrez le service MySQL pour que les modifications prennent effet.

Comprendre la mise en cache des instructions :
MySQL utilise la mise en cache des instructions pour améliorer les performances en stockant les instructions précédemment exécutées en mémoire. Lorsqu'une instruction similaire est rencontrée, la version mise en cache est récupérée, réduisant ainsi la surcharge de réanalyse et de compilation. En augmentant la valeur de table_definition_cache, MySQL peut mettre en cache davantage de définitions de table, améliorant ainsi la probabilité de réutilisation des instructions mises en cache et atténuant l'erreur « L'instruction préparée doit être re-préparée ».

Ressources supplémentaires :

  • [Documentation MySQL sur la déclaration Mise en cache](https://dev.mysql.com/doc/refman/8.0/en/statement-caching.html)
  • [Bogue MySQL n°42041](https://bugs.mysql.com/ bug.php?id=42041)

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal