Vakum SQLite
Arahan VACUUM menyalin kandungan pangkalan data induk ke fail pangkalan data sementara, kemudian mengosongkan pangkalan data induk dan memuatkan semula fail pangkalan data asal daripada salinan. Ini menghapuskan halaman percuma, menyusun data dalam jadual supaya bersebelahan, dan membersihkan struktur fail pangkalan data.
Jika jadual tidak mempunyai kunci utama integer eksplisit (KUNCI UTAMA INTEGER), arahan VACUUM boleh menukar ID baris (ROWID) entri dalam jadual. Perintah VACUUM hanya berfungsi pada pangkalan data utama, fail pangkalan data yang dilampirkan tidak boleh dilakukan menggunakan arahan VACUUM.
Arahan VACUUM akan gagal jika terdapat transaksi yang aktif. Perintah VACUUM ialah operasi untuk mana-mana pangkalan data dalam memori. Oleh kerana arahan VACUUM mencipta semula fail pangkalan data dari awal, VACUUM juga boleh digunakan untuk mengubah suai banyak parameter konfigurasi khusus pangkalan data.
VACUUM MANUAL
Berikut ialah sintaks untuk mengeluarkan arahan VACUUM daripada command prompt untuk keseluruhan pangkalan data:
$sqlite3 database_name "VACUUM;"
Anda juga boleh menjalankan VACUUM daripada SQLite gesaan , seperti yang ditunjukkan di bawah:
sqlite> VACUUM;
Anda juga boleh menjalankan VACUUM pada jadual tertentu, seperti yang ditunjukkan di bawah:
sqlite> VACUUM table_name;
Auto-VACCUM (Auto-VACUUM)
SQLite’s Auto -VACUUM tidak sama dengan VACUUM Ia hanya memindahkan halaman percuma ke penghujung pangkalan data, dengan itu mengurangkan saiz pangkalan data. Dengan melakukan ini, ia memecah pangkalan data dengan ketara, manakala VACUUM adalah anti-pemecahan. Jadi Auto-VACUUM hanya menjadikan pangkalan data lebih kecil.
Dalam gesaan SQLite, anda boleh mendayakan/melumpuhkan Auto-VACUUM untuk SQLite dengan menjalankan kompilasi berikut:
sqlite> PRAGMA auto_vacuum = NONE; -- 0 means disable auto vacuum sqlite> PRAGMA auto_vacuum = INCREMENTAL; -- 1 means enable incremental vacuum sqlite> PRAGMA auto_vacuum = FULL; -- 2 means enable full auto vacuum
Anda boleh menyemak auto dengan menjalankan arahan berikut daripada command prompt -vacuum tetapan:
$sqlite3 database_name "PRAGMA auto_vacuum;"