プライマリ・コンテンツに移動
Oracle® Data Provider for .NET開発者ガイド
ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows
E88311-03
目次へ移動
目次
索引へ移動
索引

前
次

FetchSize

このプロパティは、OracleDataReaderの内部キャッシュのサイズを指定し、結果セットのデータを格納します。

宣言

// C#
public long FetchSize {get; set;}

プロパティ値

OracleDataReaderの内部キャッシュのサイズ(バイト)を指定するlongです。

例外

ArgumentException - 指定したFetchSize値は無効です。

備考

デフォルト = 131072。

FetchSizeプロパティは、結果セットを戻すコマンドを実行して作成したOracleDataReaderにより、継承されます。OracleDataReaderオブジェクト上のFetchSizeプロパティにより、OracleDataReaderがデータベース・ラウンドトリップごとの内部キャッシュにフェッチするデータ量が決定されます。

XmlCommandTypeプロパティがNone以外の任意の値に対して設定されている場合は、このプロパティは無視されます。

RowSizeおよびFetchSizeプロパティは、他のスカラー・データ型とは異なる方法でUDTおよびXMLTypeデータを処理します。ODP.NETの内部キャッシュにはUDTおよびXMLTypeデータへの参照のみが格納されているため、RowSizeプロパティはUDTおよびXMLTypeデータの実際のサイズではなく、参照に必要なメモリー(非常に少量)のみを算定します。その結果、アプリケーションは1回のデータベース・ラウンドトリップで多数のUDTまたはXMLTypeインスタンスをデータベースからフェッチしてしまう可能性があります。これは、UDTおよびXMLTypeデータの実際のサイズがFetchSizeに対するものではなく、デフォルトのキャッシュ・サイズである131072バイトを満たすには非常に多くのUDTおよびXMLType参照が必要となるためです。したがって、UDTまたはXMLTypeデータをフェッチする際には、フェッチする実際のUDTおよびXMLTypeデータの総量ではなく、対象UDTおよびXMLTypeインスタンスの数を制御するよう、FetchSizeプロパティを適切に構成する必要があります。

注意: LOBおよびLONGデータ型の場合、選択リストの各LOBのキャッシュによって保持されたメタデータおよび参照情報に加えて、InitialLOBFetchSizeおよびInitialLONGFetchSizeプロパティで指定されたサイズのみがRowSizeプロパティによって算定されます。