SQLite 3.34.0

Теги

SQLite — компактная встраиваемая СУБД. Исходный код библиотеки передан в общественное достояние.

Слово «встраиваемый» (embedded) означает, что SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а представляет собой библиотеку, с которой программа компонуется, и движок становится составной частью программы.

Таким образом, в качестве протокола обмена используются вызовы функций (API) библиотеки SQLite. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит всю базу данных (включая определения, таблицы, индексы и данные) в единственном стандартном файле на том компьютере, на котором исполняется программа.

Основные изменения:

  • Улучшения в CLI:
    • Добавлена возможность использования неименованных каналов вместо имени файла в команде ".read".
    • В команду ".dump" добавлены опции "--data-only" и "--nosys".
    • В команду ".schema" добавлена опция "--nosys".
    • В команде ".import" обеспечена корректная обработки имён таблиц в кавычках.
    • В CLI встроена функция "generate_series(START,END,STEP)".
    • В команде .databases обеспечен показ состояния каждого файла с БД.
    • Добавлен параметр командной строки "--tabs" для установки режима вывода с разделением символами табуляции.
  • В планировщике запросов улучшено прогнозирование ресурсов при обработке оператора DISTINCT. Уменьшено число перемещений по таблице при обработке операций UPDATE или DELETE с использованием многостолбцовых индексов, не все столбцы в которых охватывает запрос.
  • Для оптимизации поиска в многостолбцовых индексах при наличии ограничений выборки оператором IN задействован новый опкод OP_SeekScan.
  • Реализована возможность использования команд BEGIN IMMEDIATE и BEGIN EXCLUSIVE с БД, подключёнными в режиме только для чтения.
  • В движке полнотекстового поиска улучшена поддержка индексов trigram.
  • Повышена производительность примитивов блокировки WAL-лога при наличии сотен соединений к файлу с БД.
  • Добавлен псевдоним SQL-функции "substr()" - "substring()" для совместимости с SQL Server.

Простота реализации достигается за счёт того, что перед началом исполнения транзакции записи весь файл, хранящий базу данных, блокируется; ACID-функции достигаются в том числе за счёт создания файла журнала. 

 

Последние материалы