Технологии

SQLite 3.54: ускорение, новые возможности CLI и прекращение поддержки Windows XP

В SQLite 3.54 ускорили ряд операций и тест speedtest1, расширили возможности консольной утилиты и прекратили поддержку Windows XP.

SQLite 3.54: ускорение, новые возможности CLI и прекращение поддержки Windows XP

9 октября 2026 года состоялся релиз SQLite 3.54 — новой версии легковесной СУБД, распространяемой в виде подключаемой библиотеки. В обновлении разработчики сосредоточились на оптимизации выполнения запросов, расширении возможностей консольной утилиты и добавлении нескольких SQL-функций.

SQLite написана на языке C и распространяется как общественное достояние (public domain). Проект можно свободно и безвозмездно использовать в любых целях. Финансовую поддержку команды разработчиков оказывает специально созданный консорциум.

Производительность и планировщик запросов

Оптимизации в SQLite 3.54 позволили примерно на 4% ускорить прохождение теста speedtest1 по сравнению с предыдущей версией и на 7,5% — по сравнению с выпуском 3.51, опубликованным годом ранее. Фактический результат зависит от нагрузки, параметров сборки, процессора, компилятора и операционной системы.

Планировщик запросов стал быстрее обрабатывать операции UPDATE, если в базе есть индексы по выражениям, но индексируемое значение при обновлении не меняется. Также оптимизированы выражения expr OR TRUE и expr OR FALSE. SQLite теперь игнорирует DISTINCT в SELECT-подзапросах, расположенных справа от оператора IN, а UNION-запросы с выражением LIMIT 1 обрабатываются быстрее и требуют меньше памяти.

В ALTER TABLE добавлена проверка попыток добавить, удалить или переименовать столбцы с зарезервированными именами ROWID, _ROWID_ и OID. Такие операции теперь завершаются ошибкой.

Изменения в консольной утилите и SQL

Утилита sqlite получила настраиваемые escape-последовательности для командной строки. С их помощью в приглашении можно показывать сведения об открытой транзакции, режиме только для чтения, хранении базы в оперативной памяти, версии SQLite, а также подставлять имя файла базы данных, пользователя и хост. Для настройки шаблонов приглашения используются переменные окружения SQLITE_PS1 и SQLITE_PS2.

В команду .mode добавили параметры -ifmt, -rowcount on и -titles always. Они позволяют настраивать формат чисел с плавающей запятой, отображение количества строк и заголовка. Изменён обработчик команды .diskused. Заголовки столбцов теперь сохраняются по умолчанию, даже если запрос не вернул строк, а в Unix-системах отключена очистка нулевых байтов при выводе BLOB.

В SQL появилась функция diskused(), оценивающая объём места, который таблицы и индексы занимают на накопителе. Функции printf() и format() получили спецификаторы %J и %j для вывода данных в формате JSON. В средствах работы с датой и временем добавлены модификаторы weekday-N и end of.

На системах, где функция open() поддерживает флаг O_TMPFILE, SQLite теперь использует этот режим при создании временных файлов.

Поддерживаемые платформы

SQLite 3.54 прекращает поддержку старых версий Windows, включая Windows CE и Windows XP. Минимальной поддерживаемой версией теперь считается Windows Vista.

Предыдущий стабильный выпуск SQLite вышел в апреле 2026 года. Версия 3.52 была отменена. До неё проект выпустил SQLite 3.51 в ноябре 2025 года и SQLite 3.50 в мае того же года.

Источник
404 Media

Читайте новые материалы журнала — свежие сюжеты каждый день.

На главную