FireDAC.Stan.Option.TFDFetchOptions.RowsetSize
Delphi
property RowsetSize: Integer read GetRowsetSize write SetRowsetSize
C++
__property int RowsetSize = {read=GetRowsetSize, write=SetRowsetSize, stored=IsRSS, default=50};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | FireDAC.Stan.Option.pas FireDAC.Stan.Option.hpp |
FireDAC.Stan.Option | TFDFetchOptions |
説明
1 度の取得で取り出すレコード数を制御します。
RowsetSize プロパティを使用して、1 度の取得操作で取得される 1 つの行セットのサイズを設定することができます。既に使用しているデータセットの RowsetSize を変更するには、アプリケーションで Disconnect メソッドを先に呼び出します。
FireDAC では、ベースとなる DBMS の CLI 機能を使用して結果セットの取得を最適化します。サポートされているほとんどの DBMS では行セットの取得機能を提供していますが、MySQL サーバーと Microsoft Access では提供していません。行セットの取得を行うと、DBMS サーバーから DBMS クライアントへ、1 度の往復で 1 つのパケットに含めて複数のレコードを転送することができます。これにより、1 度の取得操作で 1 レコードを取得し、1 度の往復で 1 レコードを転送する場合に比べて、取得のパフォーマンスが何倍か向上します。
DBMS で行セットの取得がサポートされていない場合には FireDAC によってその機能がエミュレートされるため、すべてのドライバに関して取得動作を統一された方法で行うことができます。RowsetSize <= 5 の場合と RowsetSize >= 50 の場合ではパフォーマンスは大きく異なります。ただし、たとえば RowsetSize ~= 100 の場合と RowsetSize ~= 500 の場合には、パフォーマンスが大きく変わらない可能性があります。いずれにせよ、ご自分の環境にどの値が適しているかを確認する必要があります。