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”.) There is also additional Adaptive Server Enterprise internal overhead associated with cursor processing.