FireDAC.Stan.Option.TFDFormatOptions.InlineDataSize

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

property InlineDataSize: Integer read GetInlineDataSize write  SetInlineDataSize stored IsIDSS default C_FD_DefInlineDataSize;

C++

__property int InlineDataSize = {read=GetInlineDataSize, write=SetInlineDataSize, stored=IsIDSS, default=1000};

プロパティ

種類 可視性 ソース ユニット
property published
FireDAC.Stan.Option.pas
FireDAC.Stan.Option.hpp
FireDAC.Stan.Option TFDFormatOptions

説明

文字やバイト文字列値が、レコード バッファにどのように格納されるかを、制御します。 InlineDataSize を使用すると、文字やバイト文字列値が、レコード バッファにどのように格納されるかを、制御することができます。 デフォルト値は、1000 バイトです。

dtAnsiStringdtWideStringdtByteString フィールド値が、InlineDataSize より少ない場合、FireDAC は、レコード バッファの内部にフィールド値を格納します(インライン ストレージ/inline storage)。フィールド値が InlineDataSize 以上の場合、レコード バッファは、フィールド値のために確保されたメモリ領域へのポインタを保持します(厳密ストレージ/exact storage)。

インライン ストレージは、データのフェッチ時によいパフォーマンスを提供しますが、厳密ストレージよりも大きなメモリ領域を使用する可能性があります。各文字列値に対してメモリ領域を確保する必要がないので、パフォーマンスは良く、これにより、ストリームラインや行セット フェッチが可能になります。これは、次のような理由のため、より大きなメモリ領域を使用します: たとえば、テーブル内の列は、VARCHAR(2000) として宣言されていますが、レコード フィールドには 50 文字長の値が入っているとします。インライン ストレージは、50 文字分の領域のみ必要としますが、2000 文字長の領域を値のストレージのために使用します。これに対し、厳密ストレージの場合、50 文字長の領域を確保し、レコード バッファの内部にこの領域へのポインタを格納します。

また、長い文字列値(BLOB)は、常に、厳密ストレージを使用して格納されます。

関連項目