Wenn Sie über eine Webanwendung verfügen, die den lokalen Speicher so stark nutzt, dass Leistungsprobleme auftreten, würde ich den Autor der Webanwendung kontaktieren und sie benachrichtigen, damit sie ihn möglicherweise beheben können.
SQLite verfügt jedoch seit Version 3.7.0 über einen Modus, der als Write-Ahead-Protokollierung bezeichnet wird und weniger fsync-Vorgänge verwendet. Da neuere Versionen von Chrome und Firefox mindestens die Version 3.7.0 von SQLite verwenden, können Sie möglicherweise den WAL-Modus für Ihre lokale Speicherdatenbank einstellen. Wenn Chrome und Firefox damit beginnen, sollte dieser Modus beibehalten werden.
Sie benötigen die ausführbare Datei sqlite3 . Schließen Sie zuerst Chrome und führen Sie dann die folgenden Befehle aus:
sqlite3 path/to/localstorage.sqlite sqlite> PRAGMA journal_mode=WAL; sqlite> .quit
(Wenn Sie den PRAGMA
Befehl ausführen, sollten Sie das Ergebnis " wal
" zurückbekommen .)
Die gleichen Befehle verwendet werden würden WAL - Modus für die Firefox - Datenbank einzustellen, ersetzt webappstore.sqlite
für localstorage.sqlite
.
Um diese Einstellung rückgängig zu machen, führen Sie dieselben Befehle mit Ausnahme der Verwendung von aus PRAGMA journal_mode=DELETE;
.
Bitte beachten Sie, dass ich dies selbst nicht ausprobiert habe. Meine Vermutung ist, dass es gut funktionieren wird, aber ich fordere Sie dringend auf, die Datenbankdatei zu sichern, bevor Sie es versuchen.
Abgesehen davon sind die *.sqlite-journal
Dateien, die Sie in Filemon sehen, ein Teil davon, wie SQLite eine atomare Festschreibung durchführt . Standardmäßig ist die Journaldatei nur für sehr kurze Zeit vorhanden. Wenn Sie eine Änderung an einer SQLite-Datenbank vornehmen, werden folgende Aktionen ausgeführt:
- Die aktuellen Daten werden in die Journaldatei geschrieben.
- Die neuen Daten werden in die Datenbankdatei geschrieben.
- Die Journaldatei wird gelöscht.
Wenn der Computer während des Schreibens der Datenbankdatei abstürzt, wird die Datenbank vor dem Beginn der Änderung mithilfe der Journaldatei wiederhergestellt.