FireDAC.Stan.Option.TFDFetchOptions.RowsetSize
Delphi
property RowsetSize: Integer read GetRowsetSize write SetRowsetSize stored IsRSS default C_FD_DefRowSetSize;
C++
__property int RowsetSize = {read=GetRowsetSize, write=SetRowsetSize, stored=IsRSS, default=50};
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
property | published | FireDAC.Stan.Option.pas FireDAC.Stan.Option.hpp |
FireDAC.Stan.Option | TFDFetchOptions |
Description
Controls the number of records per single fetch.
Use the RowsetSize property to set the size of a single rows set that will be fetched at a single fetch operation. To change RowsetSize for an already used dataset, an application can call the Disconnect method first.
FireDAC uses underlying DBMS CLI features to optimize the result set fetching. Most of the supported DBMSs offer row set fetching features, while MySQL Server and Microsoft Access do not. The row set fetching allows you to transfer several records from a DBMS server to a DBMS client in a single packet at a single round trip. This raises the fetching performance a few times, compared to fetching by one record per fetch operation and transmitting a single record per round trip.
If the DBMS does not support row set fetching, then FireDAC will emulate it, unifying the fetching behavior across all drivers. There is significant performance difference between RowsetSize <= 5 and RowsetSize >= 50. But there may be no significant performance difference between RowsetSize ~= 100 and RowsetSize ~= 500, for example. In any case, you should check what value is more suitable for your environment.