The Magic xpa gateways to the various SQL databases support array processing. When fetching records from the database, the gateway fetches a group of records, rather than one record at a time, thereby reducing network traffic. The array size is the number of rows fetched together from the database in a single fetch operation. The data is stored in an engine-side array.
The default for this property is 0. When this property is set to 0, the Magic xpa array size default is used, which can be overwritten. When scanning a large table, increasing the array size can enhance performance. It is recommended, however, to use the Magic xpa default of 0, which takes into account the record length of a table and a predefined volume data size. Changing the array size in the table overwrites the Data Source property settings.
The number in the left bottom corner of the dialog box, is the record length of the data source.
Effect on Online and Batch tasks
When working with an Oracle database, a change of the array size has an effect in both Online and Batch tasks.
When working with an MSSQL database, a change has an effect only when the engine uses KeySet cursors for Batch tasks with a default cursor setting. This has no effect for Online tasks, because by default for MSSQL, dynamic cursors are used.
You can see the difference in the fetch process by looking at a developer level gateway log.
A real fetch from the database is done according to the Array size property.
In the log, search for the phrase a real fetch from, and this line will show that the number of records fetched from the database is according to the value of the Array size calculation (for default 0, the calculation mentioned above or the value as defined by the developer).
Relevant interfaces: MSSQL, Oracle and DB2
Default values:
See also How Do I Reduce Database Access?
|