In Greenplum Database, the default GPORCA optimizer co-exists with the Postgres Planner.
- Overview of GPORCA
GPORCA extends the planning and optimization capabilities of the Postgres Planner.
- Enabling and Disabling GPORCA
By default, Greenplum Database uses GPORCA instead of the Postgres Planner. Server configuration parameters enable or disable GPORCA.
- Collecting Root Partition Statistics
For a partitioned table, GPORCA uses statistics of the table root partition to generate query plans. These statistics are used for determining the join order, for splitting and joining aggregate nodes, and for costing the query steps. In contrast, the Postgres Planner uses the statistics of each leaf partition.
- Considerations when Using GPORCA
To run queries optimally with GPORCA, consider the query criteria closely.
- GPORCA Features and Enhancements
GPORCA, the Greenplum next generation query optimizer, includes enhancements for specific types of queries and operations:
- Changed Behavior with GPORCA
There are changes to Greenplum Database behavior with the GPORCA optimizer enabled (the default) as compared to the Postgres Planner.
- GPORCA Limitations
There are limitations in Greenplum Database when using the default GPORCA optimizer. GPORCA and the Postgres Planner currently coexist in Greenplum Database because GPORCA does not support all Greenplum Database features.
- Determining the Query Optimizer that is Used
When GPORCA is enabled (the default), you can determine if Greenplum Database is using GPORCA or is falling back to the Postgres Planner.
- About Uniform Multi-level Partitioned Tables
Parent topic:Querying Data