表スペース・コンテナーはデフォルトで並行 I/O または直接 I/O を使用する

ほとんどの AIX®、 Linux®、および Windows オペレーティング・システムで作成された表スペース・コンテナーのデフォルト入出力メカニズムは、CIO/DIO (並行入出力または直接入出力) です。 このデフォルトを指定すると、多量のトランザクション処理ワークロードおよびロールバックに対してバッファー付き I/O を超えてスループットが増加します。

FILE SYSTEM CACHING または NO FILE SYSTEM CACHING 属性は、入出力操作がファイル・システム・レベルでキャッシュに入れられるかどうかを指定します。
  • FILE SYSTEM CACHING は、ターゲット表スペースでのすべての入出力操作がファイル・システム・レベルでキャッシュに入れられることを指定します。
  • NO FILE SYSTEM CACHING は、すべての入出力操作がファイル・システム・レベルのキャッシュを迂回することを示します。

ラージ・オブジェクト (LOB) データがインライン化される場合、それは正規データとしてアクセスされ、表スペースの FILE SYSTEM CACHING 属性に対して指定される I/O 方式 (バッファリングありまたはバッファリングなし) を使用します。

ラージ・オブジェクト (LOB) データがインライン化されない場合、以下の記述が当てはまります。
  • SMS 表スペースでは、NO FILE SYSTEM CACHING 表スペース属性が設定されている場合でも、ロング・フィールド (LF) データとラージ・オブジェクト (LOB) データへのバッファリングのない I/O のアクセスは要求されません。 オペレーティング・システムの構成と動作に応じてファイル・システム・キャッシュでバッファリングが発生し、それによってパフォーマンスが向上する可能性があります。
  • DMS 表スペースの場合、 Db2® は、入出力の実行時に異なるデータ・タイプを区別しません。 表スペースが FILE SYSTEM CACHING を有効にして構成されていない場合、LF または LOB データのバッファリングは発生しません。 パフォーマンス上の理由で DMS 表スペースの LF または LOB データのバッファリングが要求される場合、このデータを別の DMS 表スペースに置き、FILE SYSTEM CACHING を明示的に有効にできます。

以下のインターフェースには FILE SYSTEM CACHING 属性が含まれます。

  • CREATE TABLESPACE ステートメント
  • CREATE DATABASE コマンド
  • sqlecrea() API ( SQLETSDESC 構造の sqlfscaching フィールドを使用)

この属性が CREATE TABLESPACE ステートメント、または CREATE DATABASE コマンドで指定されていない場合、データベース・マネージャーはプラットフォームおよびファイル・システムのタイプに基づくデフォルトの動作を使用して要求を処理します。 正確な動作については、 ファイル・システム・キャッシング構成 を参照してください。 sqlecrea() API の場合、 sqlfscaching フィールドの値 0x2 は、デフォルト設定を使用するようにデータベース・マネージャーに指示します。

以下のツールが現在、FILE SYSTEM CACHING 属性の値を解釈することに注意してください。
  • GET SNAPSHOT FOR TABLESPACES コマンド
  • db2pd –tablespaces コマンド
  • db2look –d dbname –l コマンド
db2lookでは、FILE SYSTEM CACHING 属性が指定されていない場合、出力にはこの属性は含まれません。

データベースおよび関連するすべての表スペース・コンテナーが AIX JFS ファイル・システム上にあり、以下のステートメントが発行されたとします。
    DB2 CREATE TABLESPACE JFS2
属性が指定されていない場合、データベース・マネージャーは NO FILE SYSTEM CACHING を使用します。