„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann die Warnung zu fehlenden Indizes in vorbereiteten MySQL-Anweisungen behoben werden?

Wie kann die Warnung zu fehlenden Indizes in vorbereiteten MySQL-Anweisungen behoben werden?

Veröffentlicht am 31.10.2024
Durchsuche:585

How to Resolve Missing Index Warning in MySQL Prepared Statements?

Schwerwiegender Fehler: Fehlende Indexwarnung in MySQL-Abfrage

Dieser Fehler tritt auf, wenn Sie eine Abfrage ausführen, die eine vorbereitete Anweisung verwendet, aber keine Angabe macht ein Index für die Tabelle, die abgefragt wird. Der MySQL-Server gibt eine Warnung aus, die darauf hinweist, dass kein Index verwendet wurde, was zu potenziellen Leistungsproblemen führen kann.

Im bereitgestellten PHP-Code:

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

Die vorbereitete Anweisung gibt keinen Index für die Berechnungstabelle an. Um dies zu beheben, können Sie der Tabelle mit der folgenden SQL-Anweisung einen Index hinzufügen:

ALTER TABLE calc ADD INDEX (id);

Alternativ können Sie den Index explizit angeben in der vorbereiteten Anweisung mit der USING-Klausel:

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

Sobald die Wenn ein Index hinzugefügt wird, verwendet die Abfrage den Index für eine schnellere Ausführung und vermeidet die Warnmeldung.

Es ist wichtig zu beachten, dass die Warnung zum fehlenden Index zwar ein geringfügiges Problem in MySQL darstellt, der damit verbundene PHP-Fehler jedoch ein Problem darstellt tödlich. Dies liegt daran, dass im bereitgestellten Code die Einstellung mysqli_report auf MYSQLI_REPORT_ALL gesetzt ist, wodurch alle Fehler und Warnungen als schwerwiegende Ausnahmen gemeldet werden. Um dies zu verhindern, können Sie die Einstellung auf MYSQLI_REPORT_ERROR oder MYSQLI_REPORT_STRICT ändern, die nur tatsächliche Fehler als schwerwiegend melden.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729470616 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3