Dies ist zu lang für einen Kommentar.
Nur 400 MByte? Das ist nicht viel für eine Datenbank und nicht viel für einen modernen Computer. Sie können die Parameter korrigieren, um mehr Speicher zu verwenden. Wenn Sie sich auf einem speicherbegrenzten Gerät befinden, können Sie die SQLite-Datenbank in Betracht ziehen.
Im Ernst, Datenbanken verwenden viel Speicher, um die Leistung zu erhöhen. Der Code selbst ist nicht klein. Auch wenn keine Daten vorhanden sind, reservieren Datenbanken Speicherplatz für etwas, das als Seiten-Cache und für verschiedene andere Caches im Speicher bezeichnet wird. Diese werden gefüllt, wenn sie verwendet werden. In der Regel können Sie einen Schwellenwert für die Gesamtspeichergröße festlegen, sodass das Speicherbild nicht größer als ein Maximum wird, selbst wenn die Daten viel, viel, viel größer sind.
MySQL-Dokumentation spricht über die Speichernutzung here. Here ist ein weiterer Artikel über die Speichernutzung.
Wenn Sie bereits alle anderen Leistungsänderungen online ohne Erfolg verfolgt haben, ** ist diese Einstellung in der Tat die entscheidende **. Wenn ich meinen 'table_definition_cache' von 1400 auf 400 ändere, fiel meine RAM-Nutzung (direkt nach dem Start des Dienstes) von 500+ MB auf 160 MB ab. Es ist schade, dass die RAM-Effekte dieser Einstellung in der INI-Datei nicht besser dokumentiert sind. –