SQLiteの最新版「SQLite Release 3.45.0」が公開された。SQLiteは、小型、高速、自己完結型、高信頼、フル機能をうたうSQLデータベースエンジンを実装したC言語ライブラリ。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
SQLite開発チームは2024年1月15日(米国時間)、SQLiteの最新版「SQLite Release 3.45.0」を公開した。SQLiteは、小型、高速、自己完結型、高信頼、フル機能をうたうSQLデータベースエンジンを実装したC言語ライブラリ。
アプリケーション定義のSQL関数用に「SQLITE_RESULT_SUBTYPE」プロパティが追加された。「sqlite3_result_subtype()」を呼び出す全てのアプリケーション定義のSQL関数は、この新しいプロパティで登録する必要がある。
サブタイプを使用する全てのアプリケーションでは、コンパイル時オプションとして「DSQLITE_STRICT_SUBTYPE=1」の使用が推奨されている。
全てのJSON関数が、「JSONB」という新しい内部パースツリー形式を使用するように書き換えられた。この新しいパースツリー形式はシリアライズ可能であるため、データベースに格納できる。その目的は、JSON値が使用されるたびに不要な再パースが行われるのを避けることにある。
書き換え後も、JSON関数の全てのレガシー機能は維持されている。一方、書き換えにより、JSONテキストを入力として受け付けるJSON関数は全て、同じパラメーターでJSONBバイナリコンテンツも受け入れるようになった。テキストデータを受け取るのか、バイナリデータを受け取るのかを関数に指示する必要はなく、関数は自らそれを判断する。
JSONを出力するJSON関数には2つのバージョンがあり、従来バージョン(json_関数)はこれまでと同じように動作する。だが、新しいバージョン(jsonb_関数)は、テキストJSONではなく、バイナリのJSONBを生成する。
SQLite開発者のリチャード・ヒップ氏は「アプリケーションに変更を加えなければ、おそらくわずかに(1%)高速化されるものの、全てがこれまで通りに動作すると考えられる。だが、テキストJSONの代わりにJSONBを保存するようにアプリケーションを変更すれば、少なくともJSONを多用する処理では、3倍のパフォーマンス向上が見られる可能性がある。また、JSONBはほとんどの場合、テキストJSONよりもわずかに小さいため、JSONを大量に使用する場合は、データベースサイズも多少小さくなる可能性がある」と述べている。
コンパイル時に「-DSQLITE_DIRECT_OVERFLOW_READ=0」を用いて無効にできる。
ANALYZEが低品質と認識したインデックスをより適切に無視するようになった。
その他、以下の改善、強化が行われている。
Copyright © ITmedia, Inc. All Rights Reserved.