Scalable Database Server, HiRDB Version 8 Description

[Contents][Glossary][Index][Back][Next]

5.10.1 Block transfer facility

The facility for transferring data from a HiRDB server to a HiRDB client in blocks of any number of rows is called the block transfer facility. The block transfer facility can improve retrieval performance when it is used for accessing a HiRDB server from a HiRDB client to retrieve a large volume of data. Although increasing the number of rows to be transferred can decrease the communications overhead and reduce retrieval time, it also increases the amount of memory required. Moreover, if the number of rows to be transferred is too large, resend will occur during communication, which requires additional time. The larger the number of rows to be transferred, the more frequently resend occurs, negating the benefit of the block transfer facility. For this reason, the number of rows specified for block transfer should not be too large. Figure 5-11 provides an overview of the block transfer facility.

Figure 5-11 Overview of block transfer facility

[Figure]

Using the block transfer facility
The block transfer facility can be used when the following conditions are satisfied:
  1. A value of 2 or greater is specified for PDBLKF in the client environment definition or a value of 1 or greater is specified in PDBLKBUFFSIZE.
  2. The FETCH statement is specified, except under any of the following conditions:
    [Figure] An update uses a cursor
    [Figure] A search includes a BLOB-type selection expression
    [Figure] A search includes a BINARY-type selection expression whose definition length is more than 32,000 bytes, with the PDBINARYBLKF client environment definition set to NO (or omitted)
    [Figure] A search accepts a result that uses a BLOB locator type or BINARY locator type variable, and uses a holdable cursor

For details about client environment definition, see the HiRDB Version 8 UAP Development Guide.