Datenbank-Datei wird immer größer
-
Hallo,
ich habe eine Frage bezüglich der größe der Datenbank Datei.
Ich habe mir eine SQL Datenbank erstellt mit 3 Tabellen, und arbeite mit diesen Tabellen.
Funktioniert auch alles wunderbar, nur das die Datenbank-Datei immer größer wird, auch wenn ich die Tabellen komplett leere.
Mitlerweile ist sie 120MB groß, und die Tabellen sind leer.
Kann mir jemand sagen woran das liegt, oder wie ich das abstellen kann.Vielen Dank.
-
Welches Datenbanksystem setzt du ein?
Bei Postgres geht das mit VACUUM tabellenname.
-
Microsoft SQL Server-Datenbankdatei (SqlClient), die habe ich mit Visual C++ Express Edition erstellt, und als Server habe ich
"Microsoft SQL Server 2005 Express Edition".
PostGres sagt mir nichts, sorry, bin nur Amateur.
Aber wo kommt denn die größte her, wenn die Tabellen leer sind?
-
Daten werden nicht gelöscht. Sie werden nur als gelöscht markiert. Man kann ja nicht etwas in der Mitte einer Datei rauslöschen ohne die Datei dann neu zu schreiben. Wenn das bei jedem löschen wäre und deine DB-Datei dann 1 GB würde jeder löschvorgang sehr lange dauern.
Du könntest z.B.
truncate table
aufrufen wenn die DB leer ist.
Dadurch wird die Datei gelöscht und neu angelegt.
MSSQL kann Datein automatisch verkleiner.
In MySQL hilft
optimize tableweiter.
-
Na das nenn ich mal eine Antwort!
Vielen Dank, damit komme ich sicher weiter, und ich hab´s auch verstanden
Danke!
-
Je nach verwendeter DB sollte man das Ganze als DB-Job einrichten, der regelmäßig die Tabellen säubert und die Index Selektivität neu berechnet. So bleiben die Zugriffszeiten immer schön schnell.
-
ich bins nochmal.
Ich habe das mit dem TRUNCATE TABLE jetzt eingebaut, und dadurch werden die Tabelleninhalte auch gelöscht, aber die Datei ist dadurch nicht kleiner geworden
Weiß jemand woran das liegt?optimize table hat nicht funktioniert.
-
Kann es sein das du Transaktionsprotokolle noch drin hast?
Steht die Db auf vollständige Wiederherstellung?