When not to use Client-Library cursors

Cursors do incur a performance penalty relative to executing a select statement using a language or RPC command. The difference occurs because the cursor requires internal Client-Library cursor-fetch commands to retrieve cursor rows, while a regular-row result set does not. Thus, processing the results of the cursor-open command requires more network round trips. (See “Step 2: Set cursor rows” for more information on how cursor rows are processed internally by Client-Library.) There is also additional Adaptive Server internal overhead associated with cursor processing.