Zum Inhalt springen

SQLite 3.54.0 wird rund 4 % schneller und streicht Windows XP

SQLite 3.54.0 läuft rund 4 % schneller, bringt eine Funktion diskused(), die sqlite3_analyzer ersetzt, ändert Standards der CLI und streicht die Unterstützung für Windows XP.

Von Tech AI Wire Team

3 Min. Lesezeit

XLinkedIn
Screenshot der SQLite-Seite mit den Versionshinweisen SQLite Release 3.54.0 On 2026-10-09, die Verbesserungen der CLI auflistet.

Die Zahlen

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 ist am 9. Oktober 2026 erschienen und läuft rund 4 % schneller als die Version davor. SQLite ist die kleine Datenbank-Engine, die in Smartphones, Browsern und unzähligen Apps steckt. Deshalb erreicht schon ein bescheidener Geschwindigkeitsgewinn eine riesige Zahl von Geräten. Diese Version ändert außerdem mehrere Standardeinstellungen im Kommandozeilenwerkzeug und beendet die Unterstützung für Windows XP. API, SQL-Syntax und Dateiformat bleiben abwärtskompatibel, wie Linux Compatible anmerkt.

Wie viel schneller

Die Versionshinweise nennen zwei Werte:

  • Rund 4 % schneller als die vorherige Version
  • Rund 7,5 % schneller als Version 3.51.0, die ein Jahr zuvor erschien

SQLite misst die Geschwindigkeit, indem es CPU-Zyklen zählt, während sein Benchmark speedtest1 unter valgrind auf Linux x64 läuft. Die Versionshinweise warnen, dass die Ergebnisse je nach Workload, Build-Optionen, CPU, Compiler und Betriebssystem schwanken.

Ein großer Teil des Gewinns stammt vom Query Planner, dem Teil, der entscheidet, wie jede Abfrage ausgeführt wird:

  • Ein UPDATE auf einer Tabelle mit Ausdrucksindizes überspringt den Index jetzt, wenn sich der indizierte Wert nicht geändert hat.
  • Ausdrücke wie x OR TRUE und x OR FALSE werden besser verarbeitet.
  • DISTINCT wird in einem SELECT auf der rechten Seite von IN ignoriert, wo es keinen Unterschied macht.
  • Ein UNION mit LIMIT 1 ist schneller und braucht weniger Speicher.

Neue Funktionen und Limits

SQLite 3.54.0 bringt mehrere neue Werkzeuge für Entwickler:

NeuerungWas sie tut
diskused()Eine optionale Erweiterung, die die Speicherplatznutzung meldet; sie ersetzt das veraltete sqlite3_analyzer
%J und %jNeue Konvertierungen in printf() und format() für JSON-String-Literale
sqlite3_result_str()Eine neue C-Schnittstelle
sqlite3_incomplete()Eine neue C-Schnittstelle
weekday -N und end ofNeue Modifikatoren für Datum und Uhrzeit
SQLITE_LIMIT_SCHEMAEine neue Kategorie für sqlite3_limit()
SQLITE_LIMIT_TRIGGER_STEPSEine neue Kategorie für sqlite3_limit()

SQLite nutzt für temporäre Dateien jetzt O_TMPFILE, wo das System es unterstützt. ALTER TABLE weigert sich außerdem, eine Spalte namens ROWID, ROWID oder OID hinzuzufügen, zu löschen oder umzubenennen.

Es gibt eine sicherheitsrelevante Änderung. Der Authorizer, ein Callback, der SQL-Aktionen genehmigt oder blockiert, läuft jetzt für SQL-Funktionen in einer DEFAULT-Klausel von CREATE TABLE. Er läuft, wenn die Tabelle erstellt wird und wenn der Standardwert verwendet wird, aber nicht, wenn das Schema beim Öffnen gelesen wird.

Änderungen an der Kommandozeile

Die Shell sqlite3 erhält mehrere Änderungen, und einige davon ändern das Standardverhalten:

  • Der Prompt lässt sich mit den Umgebungsvariablen SQLITE_PS1 und SQLITE_PS2 festlegen, und der Standard-Prompt beachtet NO_COLOR.
  • Spaltenüberschriften erscheinen in spaltenbasierten Modi jetzt auch dann, wenn eine Abfrage keine Zeilen liefert.
  • .mode erhält --rowcount on, --ifmt und --fpfmt, und --titles always ist jetzt der Standard.
  • Eine Zeile, die nur go oder / enthält, beendet keine Anweisung mehr, es sei denn, SQLite wird mit -DSQLITE_SHELL_LEGACY_COMMAND_TERMINATOR gebaut.
  • Der neue Befehl .diskused nutzt die Funktion diskused().

Unterstützung für Windows XP endet

SQLite unterstützt Windows XP und ältere Versionen nicht mehr, einschließlich Windows CE. Windows Vista aus der Zeit um 2007 ist jetzt die Mindestanforderung. Unter Windows nutzen einige interne Sperren jetzt Slim Reader/Writer Locks, eine neuere Windows-Funktion. UWP- und WebUI-Apps sollten mit -DSQLITE_UWP=1 gebaut werden. Linux, macOS, BSD und andere Unix-ähnliche Systeme sind nicht betroffen.

SQLite ist nicht allein damit, die Unterstützung für alte Windows-Versionen zu kürzen. Anfang dieses Monats stellte Rust 1.100 die Auslieferung seines Compilers für 32-Bit-Windows ein.

Was das für Entwickler bedeutet

  • Aktualisieren Sie wegen der Geschwindigkeit. Einen Gewinn von 4 % bei den CPU-Zyklen gibt es für die meisten Apps umsonst. Führen Sie eigene Benchmarks durch, da die Ergebnisse vom Workload abhängen.
  • Prüfen Sie Skripte, die die CLI nutzen. Überschriften werden jetzt auch bei leeren Ergebnissen ausgegeben, und go oder / beendet keine Anweisung mehr. Skripte, die die Ausgabe von sqlite3 auswerten, brauchen womöglich eine Korrektur.
  • Ersetzen Sie sqlite3_analyzer. Es ist veraltet. Verlagern Sie Berichte zur Speicherplatznutzung auf .diskused oder die Funktion diskused().
  • Prüfen Sie ALTER-TABLE-Migrationen. Jede Migration, die eine Spalte namens ROWID, ROWID oder OID anfasst, schlägt jetzt fehl.
  • Prüfen Sie Ihre Windows-Ziele. Wenn Sie noch für Windows XP oder Windows CE ausliefern, bleiben Sie bei einer älteren SQLite-Version oder verzichten Sie auf diese Systeme.
  • Überprüfen Sie Authorizer-Callbacks. Wenn Ihre App einen nutzt, testen Sie Tabellen, deren DEFAULT-Klauseln SQL-Funktionen aufrufen.

Die meisten Apps können gefahrlos aktualisieren. Testen Sie zuerst CLI-Skripte und alte Migrationen.

Quellen

  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

Ähnliche Artikel