Guía de desarrollo

Local Navigation

Uso de pragmas

El comando PRAGMA es una característica de SQLite que le permite realizar consultas en el esquema, realizar consultas y modificar la cookie de esquema y la cookie de usuario, modificar la operación de la biblioteca de SQLite y depurar la biblioteca. Los pragmas compatibles están documentados en la clase Pragma.

La API de base de datos admite los siguientes comandos Pragma:

Pragma

Descripción

collation_list

Obtiene una lista de las secuencias de intercalado definidas para la conexión de base de datos actual.

Por ejemplo, para obtener una lista de las secuencias de intercalando definidas, ejecute la instrucción SQL "PRAGMA collation_list;" y lea las filas resultantes.

compile_options

Obtiene los nombres de las opciones de tiempo de compilación que se utilizan al crear la base de datos.

Por ejemplo, para obtener las opciones de compilación para la biblioteca SQLite, ejecute la instrucción SQL "PRAGMA compile_options;" y lea las filas resultantes. Habrá una opción por cada fila.

database_list

Obtiene una fila para cada base de datos agregada a la conexión de base de datos actual.

Por ejemplo, para obtener una lista de las bases de datos agregadas a una conexión, ejecute la instrucción SQL "PRAGMA database_list;" y lea las filas resultantes. Habrá un nombre de base de datos por cada fila.

foreign_keys

Obtiene o establece el cumplimiento de limitaciones de claves externas. Esta configuración equivale a utilizar la opción foreign_key_constraints en la clase DatabaseOptions.

Por ejemplo, para establecer el cumplimiento de limitaciones de claves externas, ejecute la instrucción SQL "PRAGMA foreign_keys;" fuera de una transacción.

freelist_count

Obtiene el número de páginas sin usar en la base de datos, que puede utilizar para determinar cuándo ejecutar el comando VACUUM.

Por ejemplo, para obtener el número de páginas sin usar en un archivo de base de datos, ejecute la instrucción SQL "PRAGMA freelist_count;" y lea la fila resultante.

journal_mode

Obtiene o establece el modo de diario de la conexión de base de datos actual. La configuración disponible ofrece diferentes niveles de seguridad de datos y rendimiento. Todas las opciones salvo WAL y OFF utilizan un diario de recuperación. Las opciones son:

  • DELETE: elimina el diario de recuperación al final de una transacción (el predeterminado).
  • TRUNCATE: confirma las transacciones truncando el diario de recuperación a cero.
  • PERSIST: impide que otras conexiones recuperen el diario. En este modo, el diario de recuperación puede ser muy grande, por lo que es posible que desee controlarlo con journal_size_limit.
  • MEMORY: almacena el diario de recuperación en la memoria RAM.
  • WAL: consigue que se utilice un registro de escritura anticipada en lugar del diario de recuperación.
  • OFF: desactiva el diario de recuperación, lo que a su vez desactiva las capacidades de commit atómico y recuperación de SQLite.

Por ejemplo, para comprobar el modo de diario, ejecute la instrucción SQL "PRAGMA journal_mode;" y lea la fila resultante. Para cambiar del modo de diario al de registro de escritura anticipada, ejecute la instrucción SQL "PRAGMA journal_mode = WAL;".

journal_size_limit

Obtiene o establece el límite de tamaño del diario, en bytes. Esto es útil cuando journal_mode se establece en PERSIST.

Por ejemplo, para comprobar el límite de tamaño del diario, ejecute la instrucción SQL "PRAGMA journal_size_limit;" y lea la fila resultante. Para establecer el límite de tamaño del diario a 1.000 bytes, ejecute la instrucción SQL "PRAGMA journal_size_limit = 1000;".

page_count

Obtiene el número total de páginas de la base de datos.

synchronous

Establece el modo sincrónico para su base de datos. Las opciones son FULL (el modo más seguro pero más lento, y el predeterminado), NORMAL y OFF.

Por ejemplo, para comprobar el modo sincrónico, ejecute la instrucción SQL "PRAGMA synchronous;" y lea la fila resultante. Para cambiar el modo sincrónico a OFF, ejecute la instrucción SQL "PRAGMA synchronous = 0;".

user_version

Obtiene o establece la versión de usuario. SQLite no está utilizando la versión de usuario; por lo que está disponible para su uso. La versión del usuario es un valor de entero con signo de 32 bits.

Por ejemplo, para establecer la versión de usuario a 123, ejecute la instrucción SQL "PRAGMA user_version = 123;". Para comprobar la versión de usuario, ejecute la instrucción SQL "PRAGMA user_version;" y lea la fila resultante.

Tema siguiente: Trabajo con BLOB

¿Le ha resultado útil esta información? Envíenos sus comentarios.