Die Ausführung von MySQL-Abfragen dauert zu lange

Die Ausführung von MySQL-Abfragen dauert zu lange

Ich habe eine Datenbanktabelle mit 300.000 Zeilen und einer Größe von 113,7 MB. Meine Datenbank läuft auf Ubuntu 13.10 mit 8 Kernen und 8 GB RAM. Derzeit verbraucht der MySQL-Server durchschnittlich 750 % CPU und 6,5 % MEM (Ergebnisse durch Ausführen topin der CLI erzielt). Außerdem läuft er auf demselben Server wie der Apache2-Webserver.

Folgendes bekomme ich auf der Mem-Leitung: Mem: 8141292k total, 6938244k used, 1203048k free, 211396k buffers

Wenn ich laufe, show processlist;bekomme ich so etwas als Antwort:

2098812 | admin | localhost       | phpb | Query   |   12 | Sending data | SELECT * FROM items WHERE thumb = 'Halloween 2013 Horns/thumbs/Halloween 2013 Horns (Original).png'
2098813 | admin | localhost       | phpb | Query   |   12 | Sending data | SELECT * FROM items WHERE thumb = 'Halloween 2013 Witch Hat/thumbs/Halloween 2013 Witch Hat (Origina
2098814 | admin | localhost       | phpb | Query   |   12 | Sending data | SELECT * FROM items WHERE thumb = 'Halloween 2013 Blouse/thumbs/Halloween 2013 Blouse (Original).png
2098818 | admin | localhost       | phpb | Query   |   11 | Sending data | SELECT * FROM items WHERE parent = 210162 OR auto = 210162    

Die Ausführung einiger Abfragen dauert mehr als 10 Sekunden. Dies ist nicht der Anfang der Liste, sondern irgendwo in der Mitte, um eine Vorstellung davon zu geben, wie viele Abfragen sich in dieser Liste stapeln. Ich denke, es könnte etwas mit meinen Query Cash-Konfigurationen zu tun haben. Hier sind die Konfigurationen, die beim Ausführen vonSHOW STATUS LIKE 'Qc%';

+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 434      |
| Qcache_free_memory      | 2037880  |
| Qcache_hits             | 62580686 |
| Qcache_inserts          | 10865474 |
| Qcache_lowmem_prunes    | 4157011  |
| Qcache_not_cached       | 3140518  |
| Qcache_queries_in_cache | 1260     |
| Qcache_total_blocks     | 4440     |
+-------------------------+----------+

Mir ist aufgefallen, dass sie Qcache_lowmem_prunesetwas hoch erscheinen, ist das normal?

Ich habe bei StackOverflow gesucht, konnte aber nichts finden, was mein Problem lösen würde. Für jede Hilfe wäre ich sehr dankbar, danke!

Antwort1

Haben Sie Indizes für Ihre Thumb-, Parent- oder Auto-Spalten? In der RegelHmAls Faustregel gilt, dass Sie in Where-Klauseln für jede Spalte oder Spaltengruppe einen Index haben sollten.

verwandte Informationen