"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como resolver o aviso de índice ausente em instruções preparadas do MySQL?

Como resolver o aviso de índice ausente em instruções preparadas do MySQL?

Publicado em 31/10/2024
Navegar:701

How to Resolve Missing Index Warning in MySQL Prepared Statements?

Erro fatal: aviso de índice ausente na consulta MySQL

Este erro ocorre quando você executa uma consulta que usa uma instrução preparada, mas não especifica um índice para a tabela que está sendo consultada. O servidor MySQL emitirá um aviso indicando que nenhum índice foi usado, resultando em possíveis problemas de desempenho.

No código PHP fornecido:

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

A instrução preparada não especifica um índice para a tabela calc. Para corrigir isso, você pode adicionar um índice à tabela usando a seguinte instrução SQL:

ALTER TABLE calc ADD INDEX (id);

Alternativamente, você pode especificar o índice explicitamente na instrução preparada usando a cláusula USING:

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

Uma vez que o índice for adicionado, a consulta usará o índice para uma execução mais rápida e evitará a mensagem de aviso.

É importante observar que, embora o aviso de índice ausente seja um problema menor no MySQL, o erro PHP que o acompanha é um fatal. Isso ocorre porque no código fornecido, a configuração mysqli_report está definida como MYSQLI_REPORT_ALL, que relata todos os erros e avisos como exceções fatais. Para evitar isso, você pode alterar a configuração para MYSQLI_REPORT_ERROR ou MYSQLI_REPORT_STRICT, que relata apenas erros reais como fatais.

Declaração de lançamento Este artigo foi reimpresso em: 1729470616 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3