SQLite3.35リリースがリリースされました そして、このデータベースマネージャのこの新しいリリースでは 数学関数の追加が強調表示され、 また、テーブルから列を削除するためのALTER TABLE DROP COLUMN式のサポート、操作の改善など。
SQLiteパッケージに慣れていない人のために 軽量のDBMSです、プラグインライブラリとして設計されています。 SQLiteコード パブリックドメインとして配布されている、 つまり、制限なしで、あらゆる目的で無料で使用できます。
SQLite3.35の主な新機能
冒頭で述べたように、この新しいバージョンでは 組み込みの数学関数が追加されました (log2()、cos()、tg()、exp()、ln()、pow()など) SQLで使用できます。 組み込み関数を有効にするには、「-DSQLITE_ENABLE_MATH_FUNCTIONS」オプションを使用したアセンブリが必要です。
式 「ALTERTABLEDROP COLUMN」は、テーブルからの列の削除をサポートするようになりました 以前にこの列に保存されていたデータを削除します。
UPSERT操作の実装(addまたはmodify)。これにより、「INSERT ON CONFLICT DO NOTHING / UPDATE」などの式を使用して、「INSERT」でデータを追加できない場合(たとえば、レコード、INSERTの代わりにUPDATEを実行できます)。
新しいバージョンでは、複数のブロックを指定できます«紛争中«、順番に処理されます。 最後の「ONCONFLICT」ブロックでは、「DOUPDATE」を使用するための競合定義パラメーターを指定しないことが許可されています。
操作 DELETE、INSERT、およびUPDATEは、RETURNING式をサポートします、使用できる 削除、挿入、または変更されたレコードのコンテンツを表示します。 たとえば、「insert into ... return ID」は追加された行識別子を返し、「update ... set price = price * 1.10returningprice」は更新された価格の値を返します。
一時的に名前が付けられた結果セットの使用を可能にする一般化されたテーブル式(Common Table Expression、CTE)の場合、WITHを使用してオペレーターに尋ね、モード«MATERIALIZED»および«NOTMATERIALIZED»の選択を承認しました。
- 「MATERIALIZED」とは、ビューで指定されたクエリを別の物理テーブルにキャッシュし、その後このテーブルからデータを取得することを意味します。
- また、「NOT MATERIALIZED」を使用すると、ビューにアクセスするたびにクエリが繰り返されます。 当初、SQLiteはデフォルトで「NOTMATERIALIZED」に設定されていましたが、複数回使用されるCTEでは「MATERIALIZED」に変更されました。
その他の変更点 この新しいバージョンから際立っている:
- TEXTまたはBLOBタイプの非常に大きな値を含むデータベースに対してVACUUM操作を実行する際のメモリ消費量を削減しました。
- オプティマイザーとクエリスケジューラのパフォーマンスを向上させるための作業が行われました。
- 式「IN」で最小関数と最大関数を使用するときに最適化が追加されました。
- EXISTSステートメントの実行が高速化されました。
- JOINで使用されるUNIONALL式のサブクエリの拡張が実装されています。
- IS NOTNULL式に使用されるインデックス。
- 「xISNULL」および「xISNOT NULL」のFALSEまたはTRUEへの変換が、「NOTNULL」フラグのある列に提供されました。
- 操作が外部キーに関連付けられた列を変更しない場合、UPDATEの外部キーチェックはスキップされます。
- WHERE句の一部をウィンドウ関数を含むサブクエリに移動することは、これらの部分がウィンドウ関数で使用される「PARTITIONBY」句式の定数とコピーの操作に制限されている場合に許可されます。
コマンドラインインターフェイスの変更:
- 「.filectrldata_version」コマンドを追加しました。
- 「.once」および「.output」コマンドは、無名パイプ( "|")を使用して呼び出されたコントローラーに出力を渡すためのサポートを追加しました。
- 「.stats」コマンドは、「stmt」および「vmstep」引数を追加して、仮想マシンのカウンターおよび式に関する統計を表示します。
最後に あなたがそれについてもっと知りたいなら この新しいバージョンのSQLiteについては、詳細を確認できます 次のリンクにアクセスしてください。