Последнее регулярное обновление SQLite, широко используемой встраиваемой библиотеки баз данных SQL, которая встречается во многих гаджетах с ограниченным объемом памяти, таких как мобильные телефоны, КПК и MP3-плееры, было выпущено с улучшениями производительности и расширением SHA1.
SQLite — это внутрипроцессная библиотека, которая реализует автономный, бессерверный, транзакционный механизм базы данных SQL. Вся база данных SQL с несколькими таблицами, индексами, триггерами и представлениями содержится в одном файле на диске.
В новой версии достигается повышение производительности примерно на 25 процентов при использовании расширения R-Tree. Это улучшение было достигнуто за счет использования большего количества встроенных модулей компилятора и других оптимизаций.
В более общем плане производительность увеличивается примерно на 1,5 процента из-за увеличения размера по умолчанию буфера внешней памяти, выделяемого для каждого соединения с базой данных. Он был увеличен с 64 000 до 120 000 байт. Хотя это добавляет только 56 КБ дополнительной памяти на каждое соединение, если у вас есть приложения, которые более чувствительны к использованию памяти, чем к производительности, вы можете отменить это изменение во время компиляции, во время запуска или во время выполнения.
Новое расширение SHA1 реализует две функции, вычисляющие хэши SHA1. Новая функция sha1 (X) вычисляет хэш SHA1 входного X или NULL, если X равен NULL, в то время как функция sha1_query (Y) вычисляет все запросы в операторах SQL Y и возвращает хэш их результатов. SHA-1 (Secure Hash Algorithm 1) — это криптографическая хеш-функция, разработанная Агентством национальной безопасности США. Он создает 160-битное хеш-значение, известное как дайджест сообщения.
Другие улучшения включают улучшенный генератор синтаксического анализатора LEMON, так что он может хранить объект синтаксического анализатора как переменную стека, а не выделять пространство из кучи, и использовать это улучшение при объединении. Lemon — это генератор синтаксического анализатора LALR (1) для C, который выполняет ту же работу, что и bison и yacc.