Saltar al contenido

SQLite 3.54.0 es un 4 % más rápido y abandona Windows XP

SQLite 3.54.0 es alrededor de un 4 % más rápido, añade una función diskused() que sustituye a sqlite3_analyzer, cambia valores predeterminados de la CLI y abandona el soporte de Windows XP.

Por Tech AI Wire Team

3 min de lectura

XLinkedIn
Captura de pantalla de la página del registro de versiones de SQLite «SQLite Release 3.54.0 On 2026-10-09», con la lista de mejoras de la CLI.

En cifras

faster than the previous release, in CPU cycles
~4%
faster than SQLite 3.51.0 a year ago
~7.5%
now the oldest supported Windows version
Vista

SQLite 3.54.0 se publicó el 9 de octubre de 2026 y es alrededor de un 4 % más rápido que la versión anterior. SQLite es el pequeño motor de bases de datos integrado en teléfonos, navegadores e innumerables aplicaciones, por eso incluso una mejora modesta de velocidad llega a un enorme número de dispositivos. Esta versión también cambia varios valores predeterminados de la herramienta de línea de comandos y abandona el soporte de Windows XP. La API, la sintaxis SQL y el formato de archivo siguen siendo retrocompatibles, señala Linux Compatible.

Cuánto más rápido

Las notas de la versión dan dos cifras:

  • Alrededor de un 4 % más rápido que la versión anterior
  • Alrededor de un 7,5 % más rápido que la versión 3.51.0, publicada un año antes

SQLite mide la velocidad contando ciclos de CPU mientras ejecuta su prueba de rendimiento speedtest1 bajo valgrind en Linux x64. Las notas de la versión advierten de que los resultados varían según la carga de trabajo, las opciones de compilación, la CPU, el compilador y el sistema operativo.

Gran parte de la mejora procede del planificador de consultas, la parte que decide cómo ejecutar cada consulta:

  • Un UPDATE en una tabla con índices de expresión ahora omite el índice cuando el valor indexado no ha cambiado.
  • Expresiones como x OR TRUE y x OR FALSE se gestionan mejor.
  • DISTINCT se ignora en un SELECT del lado derecho de IN, donde no supone ninguna diferencia.
  • Una UNION con LIMIT 1 es más rápida y usa menos memoria.

Nuevas funciones y límites

SQLite 3.54.0 añade varias herramientas nuevas para desarrolladores:

NovedadQué hace
diskused()Una extensión opcional que informa del uso de disco; sustituye al obsoleto sqlite3_analyzer
%J y %jNuevas conversiones de printf() y format() para literales de cadena JSON
sqlite3_result_str()Una nueva interfaz C
sqlite3_incomplete()Una nueva interfaz C
weekday -N y end ofNuevos modificadores de fecha y hora
SQLITE_LIMIT_SCHEMAUna nueva categoría de sqlite3_limit()
SQLITE_LIMIT_TRIGGER_STEPSUna nueva categoría de sqlite3_limit()

SQLite ahora usa O_TMPFILE para los archivos temporales cuando el sistema lo admite. ALTER TABLE también se niega a añadir, eliminar o renombrar una columna llamada ROWID, ROWID u OID.

Hay un cambio relacionado con la seguridad. El autorizador, una función de retrollamada que aprueba o bloquea acciones SQL, ahora se ejecuta para las funciones SQL de una cláusula DEFAULT de CREATE TABLE. Se ejecuta cuando se crea la tabla y cuando se usa el valor predeterminado, pero no cuando el esquema se lee al abrir.

Cambios en la línea de comandos

El shell sqlite3 recibe varios cambios, y algunos de ellos alteran el comportamiento predeterminado:

  • El indicador se puede configurar con las variables de entorno SQLITE_PS1 y SQLITE_PS2, y el indicador predeterminado respeta NO_COLOR.
  • Los encabezados de columna ahora aparecen en los modos de columnas incluso cuando una consulta no devuelve filas.
  • .mode incorpora --rowcount on, --ifmt y --fpfmt, y --titles always pasa a ser el valor predeterminado.
  • Una línea que solo contiene go o / ya no termina una instrucción, salvo que SQLite se compile con -DSQLITE_SHELL_LEGACY_COMMAND_TERMINATOR.
  • El nuevo comando .diskused usa la función diskused().

Fin del soporte de Windows XP

SQLite ya no admite Windows XP ni versiones anteriores, incluido Windows CE. Windows Vista, de alrededor de 2007, es ahora el mínimo. En Windows, algunos bloqueos internos usan ahora Slim Reader/Writer Locks, una función más reciente de Windows. Las aplicaciones UWP y WebUI deben compilarse con -DSQLITE_UWP=1. Linux, macOS, BSD y otros sistemas tipo Unix no se ven afectados.

SQLite no es el único que recorta el soporte de versiones antiguas de Windows. Rust 1.100 dejó de distribuir su compilador para Windows de 32 bits a principios de este mes.

Qué significa para los desarrolladores

  • Actualice por la velocidad. Una mejora del 4 % en ciclos de CPU llega gratis para la mayoría de las aplicaciones. Ejecute sus propias pruebas de rendimiento, ya que los resultados dependen de la carga de trabajo.
  • Revise los scripts que usan la CLI. Los encabezados ahora se imprimen con resultados vacíos, y go o / ya no terminan una instrucción. Los scripts que analizan la salida de sqlite3 pueden necesitar un ajuste.
  • Sustituya sqlite3_analyzer. Está obsoleto. Pase los informes de uso de disco a .diskused o a la función diskused().
  • Audite las migraciones con ALTER TABLE. Cualquier migración que toque una columna llamada ROWID, ROWID u OID fallará ahora.
  • Compruebe los destinos Windows. Si todavía distribuye para Windows XP o Windows CE, quédese en una versión anterior de SQLite o abandone esos sistemas.
  • Revise las funciones de retrollamada del autorizador. Si su aplicación usa una, pruebe las tablas cuyas cláusulas DEFAULT llaman a funciones SQL.

La mayoría de las aplicaciones pueden actualizarse sin riesgo. Pruebe antes los scripts de la CLI y las migraciones antiguas.

Fuentes

  1. SQLite Release 3.54.0 On 2026-10-09 - SQLite
  2. SQLite 3.54.0 Release: Faster Engine, New CLI Features, and Dropped Windows XP Support - Linux Compatible

Artículos relacionados