Home | Previous Page | Next Page   Design Decisions > Enhancing Performance >

Executing in Parallel

Parallelizable routines can execute in parallel across multiple processors.

To make a UDR parallelizable, apply the following rules:

For more information about the following topics, refer to the IBM Informix: DataBlade API Programmer's Guide:

For more information about the PARALLELIZABLE (and other) routine modifiers, refer to the Routine Modifier segment in the IBM Informix: Guide to SQL Syntax. For more information about parallelizable UDRs, refer to IBM Informix: User-Defined Routines and Data Types Developer's Guide.

To make an access method parallelizable
  1. Create a basic set of parallelizable purpose functions.

    The basic set, which enables a SELECT statement to execute in parallel, includes the following purpose functions: am_open, am_close, am_beginscan, am_endscan, am_getnext, and am_rescan.

    An access method might not supply all of the purpose functions that define a basic parallelizable set. As long as you make all the basic purpose functions that you provide parallelizable, a SELECT statement that uses the access method can execute in parallel.

  2. Add a parallelizable purpose function to the basic set for any of the following actions that you want the database server to execute in parallel.
    Parallel SQL Statement
    Parallelizable Purpose Function
    INSERT (in a SELECT)
    am_insert
    SELECT INTO TEMP
    am_insert
    DELETE
    am_delete
    UPDATE
    am_update
Important:
A parallelizable purpose function must call only routines that are also parallelizable. All the strategy and support functions for the operator class that the index uses must also be parallelizable.

The database server sets an am_parallel purpose value in the sysams system catalog table to indicate which access-method actions can occur in parallel. For more information, refer to Purpose Options.

Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]