Algorithm for successfully distributing engine resources

This section gives an approach for successful tuning on the task level.

The interactions among execution objects in an Adaptive Server environment are complex. Furthermore, every environment is different: Each involves its own mix of client applications, logins, and stored procedures and is characterized by the interdependencies between these entities.

Implementing execution precedence without having studied the environment and the possible implications can lead to unexpected (and negative) results.

For example, say you have identified a critical execution object and you want to raise its execution attributes to improve performance either permanently or on a per-session basis (“on the fly”). If this execution object accesses the same set of tables as one or more other execution objects, raising its execution priority can lead to performance degradation due to lock contention among tasks at different priority levels.

Because of the unique nature of every Adaptive Server environment, it is impossible to provide a detailed procedure for assigning execution precedence that makes sense for all systems. However, this section provides guidelines with a progression of steps to use and to discuss the issues commonly related to each step.

The steps involved with assigning execution attributes are illustrated in Figure 4-1. A discussion of the steps follows the figure.

Figure 4-1: Process for assigning execution precedence