Selecting BIND options for optimum performance

For an overview of the bind process, see The bind process. The BIND options that you select for a plan should be coordinated with the thread types used by the transactions associated with that plan. For advice on selecting thread types, see Selecting thread types for optimum performance.

We recommend that transactions using protected threads should use a plan bound with ACQUIRE(ALLOCATE) and RELEASE(DEALLOCATE) to reduce the amount of work done. Although ACQUIRE(ALLOCATE) and RELEASE(DEALLOCATE) reduce the amount of processing for a protected thread, there are some locking considerations (for more information, see Developing a locking strategy in the CICS DB2 environment). The plans for infrequently used transactions that do not use a protected thread should not typically use ACQUIRE(ALLOCATE), unless most of the SQL statements in the plan are used in each transaction.

Using ACQUIRE(ALLOCATE) minimizes the work done at SQL processing time. Using RELEASE(DEALLOCATE) minimize the work done at commit time. RELEASE(DEALLOCATE) optimizes performance if there are many commits in the program and if the thread is to be reused, because the work associated with releasing the TS locks and freeing the CT pages is done once, when the thread terminates, and not for each SYNCPOINT statement.

Packages do not have a separate ACQUIRE option. ACQUIRE(USE) is implicit when a program is executed from a package.

The bind option VALIDATE can also affect performance. You should use VALIDATE(BIND) in a CICS® environment. For more information, see Bind options and considerations for programs.

It is important that you coordinate your DB2CONN, DB2ENTRY, and BIND options. For more information, see Coordinating your DB2CONN, DB2ENTRY, and BIND options.

Related tasks
Database management for performance

Related concepts
Defining the CICS DB2 connection
Using the DB2 group attach facility
The MAXOPENTCBS system initialization parameter and TCBLIMIT
What happens during SQL processing
How threads are created, used, and terminated
Selecting thread types for optimum performance
Coordinating your DB2CONN, DB2ENTRY, and BIND options
[[ Contents Previous Page | Next Page Index ]]