집 >데이터 베이스 >MySQL 튜토리얼 >내 MySQL 애플리케이션에 \'준비된 명령문을 다시 준비해야 합니다\'가 계속 표시되는 이유는 무엇입니까?
MySQL에서 "준비된 문을 다시 준비해야 합니다." 오류가 발생했습니다
문제:
마이그레이션 시 호스팅 서버에 대한 MySQL 저장 프로시저가 있는 PHP 기반 웹사이트에서 사용자에게 반복적으로 치명적인 오류가 발생함 "준비된 명세서를 다시 작성해야 합니다." 이 문제는 일관되지 않게 나타나 페이지 로드 성공 및 실패가 번갈아 발생하게 됩니다.
답변:
기본 원인은 table_definition_cache와 관련된 알려진 MySQL 버그(#42041)입니다. 환경. MySQL에서는 문제를 해결하려면 이 매개변수의 값을 늘릴 것을 권장합니다.
해결책:
문 캐싱 이해:
MySQL은 문 캐싱을 활용하여 저장을 통해 성능을 향상시킵니다. 이전에 실행된 명령문을 메모리에 저장합니다. 유사한 문이 발견되면 캐시된 버전이 검색되어 다시 구문 분석하고 컴파일하는 오버헤드가 줄어듭니다. table_definition_cache의 값을 늘리면 MySQL은 더 많은 테이블 정의를 캐시하여 캐시된 문을 재사용할 가능성을 높이고 "준비된 문을 다시 준비해야 합니다." 오류를 완화할 수 있습니다.
추가 리소스:
위 내용은 내 MySQL 애플리케이션에 \'준비된 명령문을 다시 준비해야 합니다\'가 계속 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!