Skip to main content

Was sind die Dateien *.sqlite.wal und *.sqlite.shm in den Programmpfaden?

SQLite .wal (Write-Ahead Log) und .shm (Shared Memory) sind temporäre Dateien, die entstehen, wenn der WAL-Modus für eine Datenbank aktiviert ist. Sie dienen der Leistungssteigerung, indem Schreibvorgänge in die .wal-Datei ausgelagert werden, statt direkt in die Hauptdatenbank, während die .shm-Datei den Zugriff im gemeinsamen Speicher verwaltet, um gleichzeitiges Lesen und Schreiben zu ermöglichen. 

Diese Dateien sollten nicht manuell gelöscht werden, da u.U. ein Datenverlust entstehen kann.

.wal-Datei (Write-Ahead Log): Hier werden alle Änderungen (INSERT, UPDATE, DELETE) zunächst protokolliert, bevor sie in die eigentliche .db-Datei übertragen werden. Dies macht Schreibvorgänge schneller, da nicht sofort die Hauptdatenbankdatei gesperrt werden muss.

.shm-Datei (Shared Memory): Diese Datei dient als Shared-Memory-Index für die WAL-Datei. Sie hilft SQLite, mehrere Verbindungen effizient zu verwalten, die gleichzeitig auf die WAL-Daten zugreifen.