The Sorting tab on the Client Application Analysis drilldown uses graphs to show sort activity performed by the selected application and contrasts this activity to overall sorting activity in the database.
An application query often requires that retrieved rows be put in a specific order—that is, be sorted —to satisfy a SQL sort request (as with the ORDER BY clause), to construct an index, or to perform a hash join. Sort heap is a block of memory that the database manager allocates to an application as workspace whenever the application requires a sort. An important factor in the performance of any sort is the size of its sort heap, which is determined by one of these parameters:
A sort consists of these steps:
The actual sort process—If the information being sorted cannot fit into the sort heap, some information is written to temporary database tables. This incident is called a sort overflow. Sorts that do not overflow perform better than those that do.
Return of the sorted rows—If sorted information can be returned directly without requiring a temporary table to store the final, sorted list of data, the sort is referred to as a piped sort. If the sorted information requires a table to temporarily store the data before it is returned, the sort is referred to as a non-piped sort. A piped sort always performs better than a non-piped sort.
Sorting problems—overflows , non-piped sorts, less-than-optimal sort heap allocation size¾might indicate a need to adjust the SORTHEAP and SHEAPTHRES parameters. However, these problems might signal a need to tune the SQL within the application. Use the Appl Sort & Hash Join and the Appl Sort & Join Overflow Pct graphs on this tab to identify those applications that are generating sort and join overflows and hash loops. Then use the Top SQL drilldown to investigate problems with specific SQL in the application.
Use the following graphs to determine sort activity and problems over consecutive monitoring intervals: