This parameter specifies the size of the communication buffer between DOS/Windows 3.1 applications and their database agents on the database server. This parameter is similar to the rqrioblk parameter, except it allows you to set a different value for blocks used with DOS/Windows 3.1 clients. In a DB2 configuration file, you can set both the rqrioblk parameter (used for Windows 32-bit, OS/2, and UNIX clients) and the dos_rqrioblk parameter (used for DOS and Windows 3.1 clients).
In addition to this communication buffer, this parameter is also used to determine the I/O block size at the database client when a blocking cursor is opened. This memory for blocked cursors is allocated out of the application's private address space, so you should determine the optimal amount of private memory to allocate for each application program. If the database client cannot allocate space for a blocking cursor out of an application's private memory, a non-blocking cursor will be opened.
Recommendation: For non-blocking cursors, a reason for increasing the value of this parameter would be if the data (for example, large object data) to be transmitted by a single SQL statement is so large that the default value is insufficient.
You should also consider the effect of this parameter on the number and potential size of blocking cursors. Large row blocks may yield better performance if the number or size of rows being transferred is large (for example, if the amount of data is greater than 4096 bytes). However, there is a trade-off in that larger record blocks increase the size of the working set memory for each connection.
Larger record blocks may also cause more fetch requests than are actually required by the application. You can control the number of fetch requests using the OPTIMIZE FOR clause on the SELECT statement in your application.