Cursor Logical and Physical Showplan Operators

The Cursor logical and physical operators are used to describe how a query or update involving cursor operations is executed. The physical operators describe the physical implementation algorithm used to process the cursor; for example, using a keyset-driven cursor. Each step in the execution of a cursor involves a physical operator. The logical operators describe a property of the cursor, such as the cursor is read only.

Logical Operators

The Cursor logical operators include:

  • Asynchronous
    The cursor table is populated asynchronously. For more information, see Asynchronous Population.

  • Optimistic
    This cursor uses the optimistic mode of concurrency. For more information, see Cursor Concurrency.

  • Primary
    This is the primary fetch query for this cursor.

  • Read Only
    This cursor uses read-only semantics for concurrency. This cursor can only read data, not insert, update, or delete it. For more information, see Cursor Concurrency.

  • Scroll Locks
    This cursor uses scroll locks for concurrency. For more information, see Cursor Concurrency.

  • Secondary
    This is the secondary fetch query (used if the primary fetch query fails).

  • Synchronous
    The cursor table is populated synchronously.

Physical Operators

The Cursor physical operators include:

  • Dynamic
    This cursor can see all changes made by others. For more information, see Dynamic Cursors.

  • Fetch Query
    This query retrieves rows when a fetch is issued against a cursor.

  • Keyset
    This cursor can see updates made by others, but not inserts. For more information, see Keyset-Driven Cursors.

  • Population Query
    This query populates a cursor's work table when the cursor is opened.

  • Refresh Query
    This query fetches current data for rows in the cursor fetch buffer.

  • Snapshot
    This cursor does not see changes made by others. For more information, see Static Cursors.

For more information about the SQL Server Database Engine cursor models, see Cursor Types (Database Engine).