Auf meinem Server mit Ihrer Konfiguration ist meine Basisleistung wie folgt:
- InnoDB:5,71 s
- MyISAM:2,50 s
Das ist nicht schlecht in meinem Buch, aber es kann einige Optimierungen gebrauchen.
Ihre InnoDB-Leistung kann an mehreren Fronten verbessert werden:
Erhöhen Sie innodb_buffer_pool_size
- Dies ist die wichtigste InnoDB-Konfigurationsvariable. Idealerweise sollte es 70-80 % Ihres verfügbaren RAMs auf einem Server ausmachen, der für MySQL dediziert ist und InnoDB.
- Erhöhen von
innodb_buffer_pool_size
auf meinem Server auf 2G (mehr als genug für diesen Test) verringert die InnoDB-Zeit auf 4,60 s
Machen Sie id zum PRIMÄRSCHLÜSSEL
- InnoDB gruppiert seine Daten basierend auf PRIMARY KEY. Wenn Sie keine deklarieren, generiert InnoDB implizit eine zufällige. Einen sequenziellen Primärschlüssel (ID) zu haben ist schneller als ein zufälliger.
- Id zum PRIMARY KEY auf meinem Server zu machen verringert die InnoDB-Zeit auf 3,80 s
Aktualisieren Sie Ihr MySQL/InnoDB
Mit MySQL 5.1+ unterstützt MySQL Pluggable Storage Engines. Insbesondere das neue InnoDB-Plugin .
Die neue InnoDB-Engine bietet viele zahlreiche Leistungsverbesserungen, die können haben erhebliche Auswirkungen auf diesen speziellen Abfragetyp.
Hinweis:
- Ab MySQL 5.1.38 ist das InnoDB-Plugin in MySQL enthalten
- Ab MySQL 5.1.43 ist das InnoDB-Plugin nicht nur enthalten, sondern ist die Standard-Engine für MySQL