Tutoriel classi...SE CONNECTER
Tutoriel classique SQLite
auteur:php.cn  temps de mise à jour:2022-04-13 17:05:02

SQLite Vide


La commande VACUUM copie le contenu de la base de données maître dans un fichier de base de données temporaire, puis efface la base de données maître et recharge le fichier de base de données d'origine à partir de la copie. Cela élimine les pages libres, organise les données du tableau pour qu'elles soient contiguës et nettoie la structure des fichiers de base de données.

Si la table n'a pas de clé primaire entière explicite (INTEGER PRIMARY KEY), la commande VACUUM peut modifier l'ID de ligne (ROWID) de l'entrée dans la table. La commande VACUUM ne fonctionne que sur la base de données principale, les fichiers de base de données joints ne sont pas possibles à l'aide de la commande VACUUM.

La commande VACUUM échouera s'il y a une transaction active. La commande VACUUM est une opération pour toute base de données en mémoire. Étant donné que la commande VACUUM recrée le fichier de base de données à partir de zéro, VACUUM peut également être utilisé pour modifier de nombreux paramètres de configuration spécifiques à la base de données.

VIDE MANUELLE

Voici la syntaxe pour émettre une commande VACUUM à partir de l'invite de commande pour l'ensemble de la base de données :

$sqlite3 database_name "VACUUM;"

Vous pouvez également exécuter VACUUM depuis SQLite prompt , comme indiqué ci-dessous :

sqlite> VACUUM;

Vous pouvez également exécuter VACUUM sur une table spécifique, comme indiqué ci-dessous :

sqlite> VACUUM table_name;

Auto-VACCUM (Auto-VACUUM)

Auto de SQLite -VACUUM n'est pas la même chose que VACUUM. Il déplace simplement les pages libres vers la fin de la base de données, réduisant ainsi la taille de la base de données. Ce faisant, il fragmente considérablement la base de données, tandis que VACUUM est anti-fragmentation. Ainsi, Auto-VACUUM rend simplement la base de données plus petite.

Dans l'invite SQLite, vous pouvez activer/désactiver Auto-VACUUM pour SQLite en exécutant la compilation suivante :

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

Vous pouvez vérifier l'auto en exécutant la commande suivante à partir de l'invite de commande -vacuum paramètres :

$sqlite3 database_name "PRAGMA auto_vacuum;"

Site Web PHP chinois