Логотип

В SQLite 3.51 появились новые функции JSONB и улучшена производительность

В SQLite 3.51 появились новые функции JSONB и улучшена производительность

Команда разработчиков SQLite, бесплатной автономной реляционной базы данных с открытым исходным кодом, которая широко используется во встроенных системах и приложениях, выпустила версию SQLite 3.51. Главное изменение — добавление jsonb_each() и jsonb_tree(), новых функций, которые дублируют существующие утилиты JSON, но возвращают данные в двоичном формате JSONB для типов массивов и объектов.

Кроме того, два хорошо известных расширения, carray и percentile, теперь по умолчанию включены в состав пакета, хотя они по-прежнему отключены, если только не включены явно во время компиляции. Также были улучшены возможности интерфейса Tcl, что сделало написание сценариев более гибким. В частности, появился флаг -asdict, который представляет данные строк в виде словарей и позволяет пользовательским функциям прерывать выполнение и возвращать значения SQL NULL.

В командной строке команда .timer теперь измеряет время с точностью до микросекунды. Режимы вывода корректно обрабатывают расширенные символы, а .imposter теперь может создавать таблицы-подделки только для чтения, которые безопасно взаимодействуют с операциями VACUUM .

Среди других небольших, но продуманных деталей — новая опция --ifexists для более безопасной работы с базами данных и ограничение, которое не позволяет ширине столбцов превышать 30 000 символов, что помогает избежать возможных злоупотреблений.

Что касается оптимизации производительности, то в SQLite 3.51.0 снижена нагрузка на процессор при фиксации транзакций чтения, раньше обнаруживаются пустые объединения и пропускаются избыточные вычисления скалярных подзапросов. Запросы с оконными функциями, особенно с использованием «BETWEEN … FOLLOWING», выполняются оптимизированно, что сокращает время обработки больших наборов данных.

Кроме того, внутренние инструменты SQLite стали более интеллектуальными. Функции printf() и SQL format() больше не отображают отрицательные нулевые значения, такие как «-0,00», а сообщения об ошибках в FTS5 стали более информативными. Кроме того, строгая типизация теперь применяется к вычисляемым столбцам, что повышает согласованность схемы.

Читать  Mesa 25.1 вносит улучшения в графический стек Linux по всем направлениям

Помимо ядра базы данных, сборки JavaScript/WASM теперь поддерживают 64-битный WebAssembly, при этом канонические сборки остаются 32-битными. Создать 64-битную сборку так же просто, как выполнить make. Также улучшена совместимость с VxWorks и усилена защита от повреждения базы данных при нарушении блокировок POSIX.

Дополнительную информацию обо всех технических изменениях можно найти в объявлении о выпуске: https://sqlite.org/releaselog/3_51_0.html.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала