SQLite Vakuum

SQLite Vakuum
Die Vakuumanweisung hilft dabei. Dadurch wird die Datenbankverzeichnisstruktur effektiv entfernt, indem leere Seiten entfernt und Datenbanktabellen ausgerichtet werden, um kontinuierlich zu sein. In Tabellen ohne definierte Ganzzahl -Primärschlüssel kann die Vakuumanweisung die Zeilen -ID von Elementen ändern. Daher wird nur die primäre Datenbank durch die Vakuumanweisung beeinflusst. Es wäre nicht möglich, Datendateien zu vakuumieren, die verknüpft wurden. Wenn es einen aktiven Betrieb gibt, kann die Vakuumanweisung floppieren. Vakuum kann verwendet werden, um verschiedene Datenbank -bestimmte Setup -Optionen zu ändern, da die Datendateien aus Standardeinstellung umstrukturiert werden.

In diesem Artikel werden wir uns die Vakuumanweisung ansehen, während wir die Ubuntu 20 verwenden.04 System. Beginnen wir mit dem Start der Konsolenanwendung von Ubuntu. Verwenden Sie die Abkürzung „Strg+Alt+T“, um sie schnell zu öffnen. Versuchen Sie, die apt -"-Key -Wort -Anweisung in der Shell wie gezeigt zu aktualisieren. Möglicherweise werden Sie nach einem angemeldeten Benutzerkennwort gefragt.

Wenn Sie möchten, können Sie es auch aktualisieren. Öffnen Sie ansonsten die SQLite -Datenbank in der Shell. Probieren Sie für die Öffnung der SQLite-Datenbank die Ein-Wort-Anweisung "SQLite3" in dieser Shell aus. Die Datenbankkonsole wird wie gezeigt generiert. Jetzt müssen Sie Tabellen erstellen und Datensätze einfügen.

Wir haben also eine neue Tabelle mit dem Namen "Test" mit zwei Spalten mit dem Anweisungen erstellen (i "erstellt (i.e., ID und Sal.) Beide Spalten sind vom Ganzzahltyp. Nach der Erstellung dieser Tabelle „Test“ müssen wir einige Datensätze mit Hilfe eines Einfügung in den Anweisungen einfügen, gefolgt von dem Tabellennamen, Spaltennamen, in denen wir Werte einfügen möchten, und das Schlüsselwort „Werte“ befolgt durch die zugefügten Datensätze. Insgesamt 5 Datensätze für die ID- und Sal -Spalte des Tabellentests wurden erfolgreich hinzugefügt. Die Auswahl der Anweisung zeigt insgesamt 5 Datensätze auf unserem SQLite -Shell -Bildschirm.

Tabellentest erstellen (ID int nicht null, sal int nicht null);
Einfügen in Test (ID, Sal) -Werte (1, 25600), (2, 34000), (3, 56000), (4, 44000), (5, 66000);
Aus dem test auswählen;

Danach müssen wir ohne Fehler eine weitere Tabelle erstellen. Hierzu verwenden wir erneut die Anweisung "Tabelle erstellen" mit einer neuen Tabelle mit dem Namen Daten und den in den Klammern genannten Spalten zusammen mit ihren Typen. Für diese Tabelle wurden zwei Spalten -ID und Name erstellt. Danach wurde der Einfügen in die Anweisung erneut verwendet, um einige Datensätze in die ID- und Namensspalten einer Tabelle in dieser neu generierten Tabelle „Daten“ einzufügen und "Daten" zu nennen.

Nachdem wir die insgesamt 5 Datensätze in dieser neuen Tabelle „Daten“ eingefügt haben, haben wir den Anweisungen ausgewählt, um die vom Benutzer eingefügten Daten anzuzeigen. Die Ausgabe der Auswahl der ausgewählten Anweisung zeigt uns die neuen 5 Datensätze für diese Tabelle.

Tabellendaten erstellen (ID int nicht null, nennen Sie Text nicht null);
Einfügen in Daten (ID, Name) Werte (1, "EMA"), (2, "Emerald"), (3, "Bryan"),
(4, "Leonardo"), (5, "Decaprio");
Aus Daten auswählen;

Während wir diese Datensätze zu ihren jeweiligen Tabellen hinzufügen, haben wir viele Probleme und Fehler aufgetreten. Diese Probleme und Fehler wurden auf dem beigefügten Foto präsentiert, damit Sie wissen, dass der Vakuumbefehl verwendet wird, um den Raum zu befreien, den diese Fehler und Probleme aufgenommen und noch nicht entfernt wurden. Auch wenn wir die Tabellendaten innerhalb des angezeigten Bildes entfernt haben, wird der Abbruchprozess den Raum nicht freigesetzt, der durch diese Fehler und Tabellen erstellt wurde, die erstellt wurden.

Der .Die Tabellenanweisung wurden verwendet, um die Liste der Tabellen anzuzeigen. Bisher wurden insgesamt 2 Tische gefunden. Verwenden wir den Drop -Befehl, um beide Tabellen aus unserer Datenbank, unseren Tests und unseren Daten zu entfernen. Nachdem wir diese beiden Tabellen gelöscht haben, haben wir in der Tabellenliste keine Tabellen gefunden, die von der angezeigt werden.Tabellen “Anweisung. Obwohl wir diese Tabellen aus unserem System entfernt haben, wurde der von ihnen belegte Speicher noch nicht veröffentlicht. Um diesen Raum zu befreien, müssen wir danach die Vakuumanweisung auf unserer Schale durchführen.

.Tische
Tropfentischtest;
Drop -Tabellen -Daten;

Um das Vakuum in Ihrer SQLite -Datenbank manuell durchzuführen, müssen Sie die einfache Vakuumanweisung an der Shell verwenden. Das Bild unten zeigt seine Demonstration. Es wird den Raum, der durch die unvollständigen Prozesse und Drop -Befehle eingesetzt werden.

VAKUUM;

Nehmen wir an, Sie haben eine neue Datenbank erstellt. Außerdem haben Sie einige Tische hinzugefügt und jetzt möchten Sie es vollständig vakuumieren. Dann können Sie auch die manuelle Möglichkeit der Vakuumanweisung durchführen. Zum Beispiel haben wir eine neue Datenbank mit dem Namen "Test" mit dem SQLite3 -Befehl erstellt. Die Datenbank wurde erfolgreich erstellt. Danach haben wir versucht, einige Tische darin zu erstellen und einige Datensätze auch in die Tabellen einzufügen (ich.e., PRÜFEN.) Endlich haben wir die Vakuumanweisung ausprobiert, um die Datenbank „Test“ manuell zu beseitigen.

Eine andere Möglichkeit, die Vakuumanweisung zur Reinigung Ihrer spezifischen Datenbank zu verwenden, besteht darin, die Vakuumanweisung an der Linux -Shell auszuprobieren. Wir haben die SQLite3 -Anweisung mit dem neu erstellten Datenbanknamen „Test“, gefolgt von dem automatischen Vakuumtyp, den wir durchführen, „Test“ ausprobiert. Der Wert von „Pragma Auto Vacuum“ kann von den Benutzern selbst festgelegt werden. Sie können das Vakuumschlüsselwort einfach auch mit dem Testnamen auf der Shell verwenden.

SQLite3 Database_Name "Pragma auto_vacuum"
SQLite3 Database_Name "Vakuum"

Wir können den Wert der Pragma auto_vacuum-Variablen für vollwertige automatische Reinigung auf die vollständige Weise auf die Inkrementelle für die Unterstützung der Reinigung in Schritten auf vollständige Weise und keine zur Vermeidung eines Autotakuums auf vollständige Weise.

Abschluss:

Dies war mit der Verwendung der Vakuumanweisung einer Linux -Shell- und SQLite -Datenbank zur Reinigung der bereits vorhandenen Datenbanken und Tabellen, indem sie auf die doppelten Datenbanken und das Zurücksetzen des Vakuums zurückgesetzt wurden.