1.140 INMEMORY_OPTIMIZED_ARITHMETIC

INMEMORY_OPTIMIZED_ARITHMETICは、QUERY LOWで圧縮されたインメモリー表内のNUMBERデータ型を、共通指数によって増減される固定幅のネイティブ整数としてエンコードします。

特性 説明

パラメータ・タイプ

文字列

構文

INMEMORY_OPTIMIZED_ARITHMETIC = { ENABLE | DISABLE }

デフォルト値

DISABLE

変更可能

ALTER SYSTEM

PDBで変更可能

はい

基本

いいえ

Oracle RAC

インスタンスごとに異なる値を指定可能。

算術演算はハードウェアでネイティブに実行できないため、Oracle Database NUMBER形式により、問合せの実行時に多大なパフォーマンス・オーバーヘッドが発生する可能性があります。

INMEMORY_OPTIMIZED_ARITHMETICENABLEに設定すると、QUERY LOWで圧縮された表の場合、NUMBER列は共通指数によって増減される固定幅のネイティブ整数としてエンコードされます。このインメモリー最適化数値形式を使用すると、SIMDハードウェアを使用して高速な計算が可能になります。SIMDベクトル処理を使用することで、算術演算、簡単な集計およびグループ別集計を大幅に改善できます。

問合せ処理エンジン内のすべての行ソースで、インメモリー最適化数値形式がサポートされているわけではありません。このため、IM列ストアでは、従来のOracle Database NUMBERデータ型とインメモリー最適化数値型の両方を格納する必要があります。つまり、分析問合せのパフォーマンスの高速化によって領域オーバーヘッドの増加というコストが発生ます。

INMEMORY_OPTIMIZED_ARITHMETICDISABLE (デフォルト)に設定すると、データベースでは最適化されたエンコーディングが使用されません。

INMEMORY_OPTIMIZED_ARITHMETICENABLEに設定した後にDISABLEに設定した場合、既存のIMCUの最適化数値形式はすぐには削除されません。かわりに、IM列ストアにIMCUが再移入されるため、新しいIMCUでは最適化されたエンコーディングが使用されません。

ノート:

このパラメータは、Oracle Databaseリリース18c, バージョン18.1以降で使用可能です。

関連項目:

INMEMORY_OPTIMIZED_ARITHMETICが有効になっているときのパフォーマンスの向上および領域オーバーヘッドの増加の詳細は、『Oracle Database In-Memoryガイド』を参照してください