Heim >Datenbank >MySQL-Tutorial >Warum löst meine MySQL-Anwendung den schwerwiegenden Fehler „Prepared Statement Needs to Be Re-prepared' aus?
Fehlerbehebung bei einem schwerwiegenden MySQL-Fehler: „Vorbereitete Anweisung muss erneut vorbereitet werden“
Bei einer kürzlich erfolgten Migration auf einen Hosting-Server ein Benutzer Beim Zugriff auf eine Website mit MySQL Stored Procedures ist ein dauerhafter schwerwiegender Fehler aufgetreten. Die Fehlermeldung gab an, dass die vorbereitete Erklärung erneut vorbereitet werden musste.
Untersuchung des Problems
Der Fehler „Die vorbereitete Erklärung muss erneut vorbereitet werden“ weist auf eine Diskrepanz zwischen hin die lokalen und Serverumgebungen. Dies kann verschiedene Ursachen haben, darunter:
Lösung: Anpassen der MySQL-Konfiguration
Nachdem andere mögliche Ursachen beseitigt wurden, konnte das Problem auf eine bekannte Ursache zurückgeführt werden MySQL-Fehler (#42041). Die vorgeschlagene Lösung besteht darin, den Wert der Einstellung „table_definition_cache“ zu erhöhen.
Der „table_definition_cache“ bestimmt die Anzahl der Tabellendefinitionen, die MySQL im Speicher zwischenspeichert. Ein niedriger Wert kann dazu führen, dass der Server vorbereitete Anweisungen erneut vorbereitet, wenn er auf eine Tabelle mit einer aktualisierten Definition stößt.
MySQL-Konfiguration aktualisieren
Um die Einstellung „table_definition_cache“ anzupassen, Befolgen Sie diese Schritte:
Fügen Sie die folgende Zeile hinzu oder ändern Sie sie:
table_definition_cache=<new_value>
Wobei
Zusätzliche Überlegungen
Anweisungs-Caching kann auch durch andere Faktoren beeinflusst werden, wie zum Beispiel:
Ausführlichere Informationen finden Sie in der MySQL-Dokumentation Informationen zum Anweisungs-Caching.
Durch Erhöhen des Werts der table_definition_cache-Einstellung konnte der Benutzer in diesem Fall um das Problem zu beheben und den schwerwiegenden Fehler zu beseitigen.
Das obige ist der detaillierte Inhalt vonWarum löst meine MySQL-Anwendung den schwerwiegenden Fehler „Prepared Statement Needs to Be Re-prepared' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!