Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum ist meine MySQL-Abfrage trotz eines Index so langsam?

Mary-Kate Olsen
Freigeben: 2024-11-19 14:59:02
Original
281 Leute haben es durchsucht

Why is My MySQL Query So Slow, Even with an Index?

MySQL-Anweisungsausführungszeit zu hoch

Beim Versuch, Abfragen in einer großen Datenbank mit etwa 1 Million Datensätzen auszuführen, kam es zu längeren Ausführungszeiten. Insbesondere war eine Abfrage zum Abrufen von Datensätzen aus der Tabelle „Bewertungen“ besonders langsam:

select * from `ratings` order by id limit 499500, 500
Nach dem Login kopieren

Obwohl ein Index für die Spalte „id“ verwendet wurde, blieb das Problem bestehen. Die Reduzierung der Tabellengröße auf 10.000 Datensätze führte jedoch zu deutlich schnelleren Abfragezeiten.

Erklärung:

Bei der Untersuchung des Abfrageplans mithilfe der „EXPLAIN“-Anweisung war dies der Fall ergab, dass die ursprüngliche Abfrage einen vollständigen Tabellenscan verwendete, was zu einer ineffizienten Ausführung führte. Im Gegensatz dazu wurde beim Hinzufügen einer „Where“-Klausel ein effizienterer Bereichsindex-Scan verwendet, was die Leistung erheblich verbesserte.

select * from `ratings` where id>=499501 limit 500
Nach dem Login kopieren

Überlegungen:

Verwendung von a Die „where“-Klausel zum Filtern der Ergebnisse kann die Abfrageleistung durch die Verwendung geeigneter Indizes erheblich verbessern.

Es ist wichtig sicherzustellen, dass innerhalb der keine Deadlocks auftreten Datenbank, was auch zu einer langsamen Abfrageausführung führen kann.

Das obige ist der detaillierte Inhalt vonWarum ist meine MySQL-Abfrage trotz eines Index so langsam?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage