SQLite 3.54.0 fica 4% mais rápido e abandona o Windows XP
O SQLite 3.54.0 roda cerca de 4% mais rápido, adiciona uma função diskused() que substitui o sqlite3_analyzer, muda padrões da CLI e abandona o suporte ao Windows XP.
3 min de leitura

Em números
- 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
O SQLite 3.54.0 foi lançado em 9 de outubro de 2026 e roda cerca de 4% mais rápido que a versão anterior. O SQLite é o pequeno motor de banco de dados embutido em celulares, navegadores e inúmeros aplicativos. Por isso, até um ganho modesto de velocidade chega a um número enorme de dispositivos. Esta versão também muda vários padrões da ferramenta de linha de comando e abandona o suporte ao Windows XP. A API, a sintaxe SQL e o formato de arquivo continuam retrocompatíveis, observa o Linux Compatible.
Quanto mais rápido
As notas de versão trazem dois números:
- Cerca de 4% mais rápido que a versão anterior
- Cerca de 7,5% mais rápido que a versão 3.51.0, lançada um ano antes
O SQLite mede a velocidade contando ciclos de CPU enquanto roda seu benchmark speedtest1 sob o valgrind no Linux x64. As notas de versão alertam que os resultados variam conforme a carga de trabalho, as opções de compilação, a CPU, o compilador e o sistema operacional.
Grande parte do ganho vem do planejador de consultas, a parte que decide como executar cada consulta:
- Um UPDATE em uma tabela com índices de expressão agora ignora o índice quando o valor indexado não mudou.
- Expressões como
x OR TRUEex OR FALSEsão tratadas melhor. - O DISTINCT é ignorado em um SELECT do lado direito de um IN, onde ele não faz diferença.
- Uma UNION com
LIMIT 1é mais rápida e usa menos memória.
Novas funções e limites
O SQLite 3.54.0 adiciona várias ferramentas novas para desenvolvedores:
| Adição | O que faz |
|---|---|
diskused() | Uma extensão opcional que informa o uso de disco; ela substitui o obsoleto sqlite3_analyzer |
%J e %j | Novas conversões de printf() e format() para literais de string JSON |
sqlite3_result_str() | Uma nova interface C |
sqlite3_incomplete() | Uma nova interface C |
weekday -N e end of | Novos modificadores de data e hora |
SQLITE_LIMIT_SCHEMA | Uma nova categoria de sqlite3_limit() |
SQLITE_LIMIT_TRIGGER_STEPS | Uma nova categoria de sqlite3_limit() |
O SQLite agora usa O_TMPFILE para arquivos temporários onde o sistema oferece suporte. O ALTER TABLE também se recusa a adicionar, remover ou renomear uma coluna chamada ROWID, ROWID ou OID.
Há uma mudança relacionada à segurança. O autorizador, um callback que aprova ou bloqueia ações SQL, agora é executado para funções SQL em uma cláusula DEFAULT de CREATE TABLE. Ele é executado quando a tabela é criada e quando o valor padrão é usado, mas não quando o esquema é lido na abertura.
Mudanças na linha de comando
O shell sqlite3 recebe várias mudanças, e algumas delas alteram o comportamento padrão:
- O prompt pode ser definido com as variáveis de ambiente
SQLITE_PS1eSQLITE_PS2, e o prompt padrão respeitaNO_COLOR. - Os cabeçalhos de coluna agora aparecem nos modos em colunas mesmo quando uma consulta não retorna linhas.
- O
.modeganha--rowcount on,--ifmte--fpfmt, e--titles alwayspassa a ser o padrão. - Uma linha contendo apenas
goou/não encerra mais uma instrução, a menos que o SQLite seja compilado com-DSQLITE_SHELL_LEGACY_COMMAND_TERMINATOR. - O novo comando
.diskusedusa a funçãodiskused().
Fim do suporte ao Windows XP
O SQLite não oferece mais suporte ao Windows XP ou a versões anteriores, incluindo o Windows CE. O Windows Vista, de por volta de 2007, passa a ser o mínimo. No Windows, alguns bloqueios internos agora usam Slim Reader/Writer Locks, um recurso mais recente do Windows. Aplicativos UWP e WebUI devem ser compilados com -DSQLITE_UWP=1. Linux, macOS, BSD e outros sistemas do tipo Unix não são afetados.
O SQLite não é o único a cortar o suporte a versões antigas do Windows. O Rust 1.100 deixou de distribuir seu compilador para Windows de 32 bits no início deste mês.
O que isso significa para os desenvolvedores
- Atualize pela velocidade. Um ganho de 4% em ciclos de CPU vem de graça para a maioria dos aplicativos. Rode seus próprios benchmarks, já que os resultados dependem da carga de trabalho.
- Verifique scripts que usam a CLI. Os cabeçalhos agora aparecem em resultados vazios, e
goou/não encerra mais uma instrução. Scripts que analisam a saída dosqlite3podem precisar de ajuste. - Substitua o
sqlite3_analyzer. Ele está obsoleto. Passe os relatórios de uso de disco para o.diskusedou para a funçãodiskused(). - Revise as migrações com ALTER TABLE. Qualquer migração que mexa em uma coluna chamada ROWID, ROWID ou OID agora vai falhar.
- Verifique os alvos Windows. Se você ainda distribui para Windows XP ou Windows CE, fique em um SQLite mais antigo ou abandone esses sistemas.
- Revise os callbacks de autorização. Se o seu aplicativo usa um, teste tabelas cujas cláusulas DEFAULT chamam funções SQL.
A maioria dos aplicativos pode atualizar com segurança. Teste primeiro os scripts da CLI e as migrações antigas.
Fontes
Artigos relacionados

GDB 18.1 traz depuração non-stop ao Windows e remove stabs
O GDB 18.1, lançado em 25 de setembro, traz depuração non-stop ao Windows 10+, novos comandos save e de ambiente, e remove o antigo formato stabs.

Wine 11.18 ganha drivers de núcleo e o Staging corrige o WoW64
O Wine 11.18 saiu em 18 de setembro com 380 commits e 21 correções. O Wine-Staging leva 273 patches extras, dois deles para serviços WoW64.

ReactOS 0.4.16 traz instalador gráfico e sincronia com o Wine 10
O ReactOS 0.4.16 chegou em 29 de agosto de 2026 após cerca de 18 meses e 2.808 commits. Ele adiciona um instalador gráfico, um novo driver ATA e a sincronia com o Wine 10.