>  기사  >  백엔드 개발  >  MySQL 준비 문에서 누락된 인덱스 경고를 해결하는 방법은 무엇입니까?

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

Susan Sarandon
Susan Sarandon원래의
2024-10-21 08:32:02304검색

How to Resolve Missing Index Warning in MySQL Prepared Statements?

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

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

제공된 PHP 코드에서:

<code class="php">$get_emp_list = $mysql->prepare("SELECT id, name FROM calc");</code>

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

<code class="sql">ALTER TABLE calc ADD INDEX (id);</code>

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

<code class="php">$get_emp_list = $mysql->prepare("SELECT id, name FROM calc USING INDEX (id)");</code>

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

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

위 내용은 MySQL 준비 문에서 누락된 인덱스 경고를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.