SQLite: proceso Auto_Vacío

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

SQLite: proceso Auto_Vacío

Este tutorial de SQLite explica cómo usar proceso de vacío automático Con sintaxis y ejemplos.

describir

Introducido en SQLite 3.1, auto_vacuum es una función opcional que limpia automáticamente la base de datos para minimizar el tamaño del archivo de la base de datos. Con esta característica, no tiene que ejecutar la instrucción VACUUM manualmente. De forma predeterminada, la función auto_vacuum está deshabilitada.

propina: Aunque la función auto_vacuum reduce el tamaño de los archivos de la base de datos al recuperar el espacio no utilizado, no realiza ninguna desfragmentación. Esto significa que es posible que las tablas y los índices del archivo no se almacenen de forma contigua. Si desea desfragmentar los archivos de la base de datos, aún necesita ejecutar la instrucción VACUUM.

configuración actual

Para ver el modo actual del proceso de vacío automático, puede ejecutar la siguiente instrucción PRAGMA:

PRAGMA [database.]auto_vacuum;

Esta declaración devolverá el modo del proceso de vacío automático. Consulte la siguiente tabla para obtener una descripción de los diferentes modos.

Ajustes de actualización

La sintaxis para cambiar el modo de proceso auto_vacuum en SQLite es:

PRAGMA [database.]auto_vacuum = mode;

parámetro o parámetro

modelo

Determina cómo se comporta el proceso auto_vacuum. Puede ser uno de los siguientes valores:

modelo explique
0 o ninguno
(defecto)

La función auto_vacuum está deshabilitada.

Esta es la configuración predeterminada en SQLite. En este modo, debe ejecutar una instrucción VACUUM para reducir el tamaño de la base de datos y realizar cualquier desfragmentación.

1 o completo

La función auto_vacuum está habilitada y se ejecutará automáticamente.

En este modo, las páginas de la lista libre se mueven al final del archivo y luego se truncan después de cada confirmación. Esto reduce el tamaño de la base de datos, pero no desfragmenta los archivos de la base de datos. Para desfragmentar archivos, debe ejecutar la instrucción VACUUM.

2 o incrementos

La función auto_vacuum está habilitada, pero la aspiración no se realiza automáticamente.

En este modo, el tamaño de la base de datos no disminuye hasta que se eliminen las páginas de listas libres mediante la instrucción incremental_vacuum PRAGMA. Este modo no desfragmenta los archivos de la base de datos. Para desfragmentar archivos, debe ejecutar la instrucción VACUUM.

ejemplo

A continuación, veamos un ejemplo de cómo cambiar el modo de la función auto_vacuum en SQLite.

habilitar completo

Puede activar la función auto_vacuum para que reduzca automáticamente el tamaño del archivo de la base de datos.

Por ejemplo:

PRAGMA main.auto_vacuum = 1;

En este ejemplo, la característica auto_vacuum estará habilitada y toda la limpieza se manejará automáticamente.

Habilitar incremento

También puede habilitar auto_vacuum incremental en SQLite para preparar el archivo de la base de datos, pero debe eliminar manualmente las páginas de listas libres del archivo de la base de datos mediante una instrucción PRAGMA adicional.

Por ejemplo:

PRAGMA main.auto_vacuum = 2;

En este ejemplo, la función auto_vacuum está habilitada, pero debe ejecutar la declaración incremental_vacuum de PRAGMA para reducir el tamaño del archivo de la base de datos.

La sintaxis de PRAGMA incremental_vacuum en SQLite es:

PRAGMA [database.]incremental_vacuum(N);

donde N es el número máximo de páginas para eliminar de la lista libre.

Por ejemplo:

PRAGMA main.incremental_vacuum(5);

Esta declaración PRAGMA eliminará hasta 5 páginas de listas libres del archivo de la base de datos.

discapacitado

Para desactivar la función auto_vacuum en SQLite, puede ejecutar la siguiente instrucción PRAGMA:

PRAGMA main.auto_vacuum = 0;

En este ejemplo, la función auto_vacuum estará deshabilitada.