Overview of GPORCA

A newer version of this documentation is available. Click here to view the most up-to-date release of the Greenplum 5.x documentation.

Overview of GPORCA

GPORCA extends the planning and optimization capabilities of the Greenplum Database legacy optimizer. GPORCA is extensible and achieves better optimization in multi-core architecture environments. Greenplum Database uses GPORCA by default to generate an execution plan for a query when possible.
GPORCA also enhances Greenplum Database query performance tuning in the following areas:
  • Queries against partitioned tables
  • Queries that contain a common table expression (CTE)
  • Queries that contain subqueries

In Greenplum Database, GPORCA co-exists with the legacy query optimizer. By default, Greenplum Database uses GPORCA. If GPORCA cannot be used, then the legacy query optimizer is used.

The following figure shows how GPORCA fits into the query planning architecture.

Note: All legacy query optimizer (planner) server configuration parameters are ignored by GPORCA. However, if Greenplum Database falls back to the legacy optimizer, the planner server configuration parameters will impact the query plan generation. For a list of legacy query optimizer (planner) server configuration parameters, see Query Tuning Parameters.