Ich habe immer noch Probleme mit der Leistung meiner MySQL-Datenbank mit der InnoDB-Engine. Vor allem die Leistung der Dateneinfügung, geringer die Leistung der laufenden Abfragen.
Ich habe nach Informationen, Anleitungen und so weiter geforscht, aber ich fand die meisten Informationen ziemlich tiefgründig. Kann ich irgendwo im Netz Grundinformationen für "Neulinge" finden, einen Ausgangspunkt für die Leistungsoptimierung? Die ersten, wichtigsten Schritte für die InnoDB-Optimierung werden auf weniger komplizierte Weise erklärt.
Ich verwende die Windows-Plattform
Ich habe ein paar sehr große MySQL-Datenbanken (wie 1TB +) verwaltet. Sie waren riesige, unversöhnliche Bestien mit einem endlosen Appetit, mir Magenprobleme zu bereiten.
Ich habe alles gelesen, was ich über MySQL Performance Tuning und innodb finden konnte. Hier ist eine Zusammenfassung dessen, was mir geholfen hat:
Am Ende experimentieren Sie nur und arbeiten durch die Dinge, bis Sie genug Wissen haben, um zu wissen, was funktioniert.
Für Neulinge: innodb_flush_log_at_trx_commit = 0, wenn Sie es sich leisten können, bis zu 1 Sekunde Ihrer Arbeit zu verlieren, wenn der Server abstürzt. Dies ist der Kompromiss zwischen Performance und Zuverlässigkeit, aber es wird Ihre Schreibleistung enorm verbessern. Wenn Sie sich einen batteriegepufferten Schreibcache leisten können, verwenden Sie ihn.
Insbesondere unter Windows und für die Schreibleistung könnte MariaDB 5.3 eine bessere Idee sein als das Original-MySQL von Oracle, da MariaDB in der Lage ist, asynchrones IO unter Windows besser zu nutzen. Ich habe vor einiger Zeit eine Notiz darüber geschrieben hier , beim Standard-synthetischen Benchmark ist es bis zu 500% besser als der Standard MySQL 5.5 (siehe Bilder am Ende des Hinweises).
Aber die allererste Leistung, die die Leistung killt, ist die Festplattenspülung. Dies ist lösbar, wenn Sie die Haltbarkeit mit * innodb_flush_log_at_trx_commit * -Parameter, mit batteriegestütztem Schreibcache, entspannen. Sie könnten auch größere Transaktionen in Betracht ziehen, sie reduzieren die Anzahl der Festplattenspülungen.
Ich habe das Netz nicht benutzt, ich habe Bücher benutzt. :)
Das Buch, das ich MySQL gelernt habe, ist "Beginning MySQL" von Wrox Press, von Robert Sheldon und Geoff Moes. Kapitel 15 geht ein paar Grundlagen der Optimierung ein. Ich mochte dieses Buch sehr und denke, es wäre gut zu lesen und war meine Referenz # 1. Aber es ist nicht sehr Speicher-Engine-spezifisch.
Ich habe ein anderes Buch, Pro MySQL von apress, das viel detaillierter über bestimmte Speicher-Engines spricht, aber es ist auch viel schwerer zu lesen. Immer noch eine gute Referenz.
Tags und Links mysql performance