Cursor blocking is a technique that reduces overhead by having the database manager retrieve a block of rows in a single operation.
These rows are stored in a cache in the DB2® client while they are processed. The cache is allocated when an application issues an OPEN CURSOR request, and is deallocated when the cursor is closed. When all the rows have been processed, another block of rows is retrieved.
Cursors that are not declared with the FOR READ ONLY or FOR UPDATE clause which are not ambiguous and are read-only will be blocked. Ambiguous cursors will not be blocked.
For the definition of a read-only cursor and an ambiguous cursor, refer to the DECLARE CURSOR statement.