Wie durch this Firefox bug referenziert, was bewirkt der Akt des Staubsaugens einer Datenbank? Wird diese Operation von allen modernen Datenbanksoftware oder nur von bestimmten unterstützt?Was bedeutet es, eine Datenbank abzusaugen?
Antwort
Datenbanken, die MVCC verwenden, um Transaktionen voneinander zu isolieren, müssen die Tabellen regelmäßig scannen, um veraltete Kopien von Zeilen zu löschen. Wenn eine Zeile in MVCC aktualisiert oder gelöscht wird, kann sie nicht sofort erneut verwendet werden, da möglicherweise aktive Transaktionen vorhanden sind, die die alte Version der Zeile weiterhin anzeigen können. Anstatt zu überprüfen, ob dies der Fall ist, was sehr kostspielig sein könnte, wird angenommen, dass alte Zeilen relevant bleiben. Der Prozess des Zurückforderns des Speicherplatzes wird aufgeschoben, bis die Tabelle abgesaugt ist, was abhängig von der Datenbank automatisch oder explizit initiiert werden kann.
Es ist sehr ähnlich, ein Dateisystem zu defragmentieren. Weitere Informationen über die PGSQL docs.
Es bezieht sich speziell auf SQL Lite Vakuumbefehl. http://www.sqlite.org/lang_vacuum.html
Es entfernt Platz von DELETE-Anweisungen übrig.
Und UPDATE-Anweisungen. –
'vacuumdb' ist in MySQL, SQLite und PostgreSQL. In Postgres identifiziert vacuumdb den von gelöschten Zeilen belegten Speicherplatz und katalogisiert ihn für die zukünftige Verwendung. 'vacuum full' führt eine umfassendere Untersuchung durch und verschiebt Aufzeichnungen in den neu geschaffenen Raum.
- 1. Was bedeutet es, eine Serviceverbindung zu verlieren?
- 2. Was bedeutet es, eine Steckdose zu spülen?
- 3. Was bedeutet der Begriff Legacy-Datenbank?
- 4. wechseln (! 0) Was bedeutet es
- 5. Was ist POI und was bedeutet es?
- 6. Was bedeutet es, eine Funktion in eine Tabelle umzuwandeln?
- 7. Was bedeutet die Terminologie "Datenbank-Seeding"?
- 8. Was bedeutet eine leere Parameterliste?
- 9. Was bedeutet "Ente eine Ausnahme"?
- 10. Was bedeutet eine Objekt-Selbstanmerkung?
- 11. Was bedeutet es, dass Javascript eine prototypbasierte Sprache ist?
- 12. Was bedeutet es, wenn eine Funktion mit}) (jQuery) endet?
- 13. Was bedeutet es, eine Klasse oder einen Parameter zu dekorieren?
- 14. Was bedeutet es für eine ComboBox, "heiß" zu sein?
- 15. Was bedeutet es, eine Ansicht von einer XML-Datei aufzublasen?
- 16. Was bedeutet es für eine Hash-Funktion, inkrementell zu sein?
- 17. Was bedeutet es, eine Ansicht aus einer XML-Datei aufzublähen?
- 18. Was bedeutet es, eine Matrix in Android "vorzuspalten"?
- 19. Was bedeutet es, wenn eine Perl-Methode einen "hashref" zurückgibt?
- 20. Was bedeutet es, wenn eine Struktur keine Identität hat?
- 21. Was bedeutet es, eine Sammlung "vertikal" und "horizontal" zu filtern?
- 22. fehlt eine begleitende Bindung - Was bedeutet das? Wie es funktioniert?
- 23. Was bedeutet es wirklich, dass eine Programmiersprache stapellos ist?
- 24. Was bedeutet es, wenn eine Mitgliedsfunktion flüchtig ist?
- 25. Was bedeutet es, eine Funktion in Python "aufzurufen"?
- 26. Was bedeutet es $ 1Z in regulärem Ausdruck bedeutet
- 27. Was bedeutet ~ bedeutet in Linux, wie es funktioniert?
- 28. Was bedeutet es, etwas "zu schließen"?
- 29. Was bedeutet es, gegen etwas zu verlinken?
- 30. Was bedeutet es, ROMFS im RAM anzuhängen?
Beim Defragmentieren geht es nicht darum, Speicherplatz zurückzugewinnen. Es geht darum, Daten neu zu ordnen, um die Fragmentierung zu reduzieren. –