a.C.k hat folgendes geschrieben: |
Schau mal ob sie kleiner wird, wenn du in der Datnbankoberfläche die Tabelle kompremieren tust. |
Mit sicherheit.
a.C.k hat folgendes geschrieben: |
Daten werden in einer Datenbank nicht unbedingt gelöscht, sondern nur nicht mehr angezeigt. Somit können "gelöschte" Daten nach fehlern wieder hergestellt werden. Allerdings wächst natürlich auch die größe der Datenbank ins unermesliche . |
Das ist nur zum Teil richtig. Gelöschte Datensätze werden in der Tat nur als gelöscht markiert. Dies geschiht aber nicht um sie später wieder herstellen zu können (das ist nur ein angenehmer nebeneffekt) sondern aus performance gründen.
Stell dir die Tabellen-Datei am besten als Eine Reihe von aneinander gehängten Datensätze vor, also als eine Reihe von Blöcken. Nehmen wir an sie enthält 3.000.000 solcher blöcke. Wenn du jetzt den zweiten löscht, müssten 2.999.998 Blöcke nach vorne verschoben werden um wieder eine gültige Datei zu haben. Im Speicher währe das schon nicht wirklich schnell, auf der Festplatte ist es tötlich. Daher Markiet man den zweiten Block einfach als gelöscht und lässt ihn da wo er ist. Wenn jetzt ein neuer Datensatz angelegt wird, überschreibt man den als gelöscht Markierten Block 2 mit diesem neuen, man hat also noch immer eine gültige Datei, und sie wächst durch den neuen Datensatz nicht, solange noch gelöschte vorhanden sind.
Wenn man mehr löscht als man eingibt ist dieses vorgehen allerdings störend. Das Packen der Tabelle macht nichts anderes als das Verschieben der nicht gelöschen Blöcke an den Anfang der Datei und das entfernen der gleöschten (über die genaue Strategie wollen wir nicht steiten). Es stellt also eine Art Defrakmentieren der Tabelle da, dies ist wie erwähnt recht zeitaufwendig, wenn man es nach jeden löschvorgang durchführen wollte.
Wenn du deine Tabelle in der Datenabankoberfläche öffnest, dann musst du auf Tabelle->Umstrukturieren gahen und das Komprimieren Häckchen wählen. Wenn ich die Logik richtig verstehe verseckt sich dahinter die Tabeele-Packen funktionalität.
Gruß
Klabautermann