"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > MySQL 준비 문에서 누락된 인덱스 경고를 해결하는 방법은 무엇입니까?

MySQL 준비 문에서 누락된 인덱스 경고를 해결하는 방법은 무엇입니까?

2024년 10월 31일에 게시됨
검색:118

How to Resolve Missing Index Warning in MySQL Prepared Statements?

치명적인 오류: MySQL 쿼리에 누락된 인덱스 경고

이 오류는 준비된 문을 사용하지만 지정하지 않은 쿼리를 실행할 때 발생합니다. 쿼리되는 테이블의 인덱스입니다. MySQL 서버는 인덱스가 사용되지 않았음을 나타내는 경고를 발행하여 잠재적인 성능 문제를 초래할 수 있습니다.

제공된 PHP 코드에서:

$get_emp_list = $mysql->prepare("SELECT id, name FROM calc");

준비된 문은 계산 테이블에 대한 인덱스를 지정하지 않습니다. 이 문제를 해결하려면 다음 SQL 문을 사용하여 테이블에 인덱스를 추가할 수 있습니다.

ALTER TABLE calc ADD INDEX (id);

또는 인덱스를 명시적으로 지정할 수 있습니다. USING 절을 사용하여 준비된 문에서:

$get_emp_list = $mysql->prepare("SELECT id, name FROM calc USING INDEX (id)");

한 번 인덱스가 추가되면 쿼리는 더 빠른 실행을 위해 인덱스를 사용하고 경고 메시지를 방지합니다.

인덱스 누락 경고는 MySQL에서 사소한 문제이지만 이에 수반되는 PHP 오류는 치명적인 것. 이는 제공된 코드에서 mysqli_report 설정이 모든 오류와 경고를 치명적인 예외로 보고하는 MYSQLI_REPORT_ALL로 설정되어 있기 때문입니다. 이를 방지하려면 실제 오류만 치명적인 것으로 보고하는 MYSQLI_REPORT_ERROR 또는 MYSQLI_REPORT_STRICT로 설정을 변경할 수 있습니다.

릴리스 선언문 이 글은 1729470616에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3