GPORCA Limitations

GPORCA Limitations

There are limitations in Greenplum Database and later when GPORCA is enabled. The Pivotal Query Optimizer and the legacy query optimizer currently coexist in Greenplum Database and later because GPORCA does not support all Greenplum Database features.
This section describes the limitations.

Unsupported SQL Query Features

Certain query features are not supported with the default GPORCA optimizer. When an unsupported query is executed, Greenplum logs this notice along with the query text:
Feature not supported by the Pivotal Query Optimizer: UTILITY command
These are unsupported features when GPORCA is enabled:
  • Indexed expressions (an index defined as expression based on one or more columns of the table)
  • GIST indexing method. GPORCA supports only B-tree and bitmap indexes. GPORCA ignores indexes created with unsupported methods.
  • PERCENTILE window function
  • External parameters
  • These types of partitioned tables:
    • Non-uniform partitioned tables
    • Partitioned tables that have been altered to use an external table as a leaf child partition
  • SortMergeJoin (SMJ)
  • Ordered aggregations
  • These analytics extensions:
    • CUBE
    • Multiple grouping sets
  • These scalar operators:
    • ROW
  • Aggregate functions that take set operators as input arguments
  • Inverse distribution functions
  • Queries that contain UNICODE characters in metadata names, such as table names, and the characters are not compatible with the host system locale
  • SELECT, UPDATE, and DELETE commands where a table name is qualified by the ONLY keyword

Performance Regressions

When GPORCA is enabled in Greenplum Database, the following features are known performance regressions:
  • Short running queries - For GPORCA, short running queries might encounter additional overhead due to GPORCA enhancements for determining an optimal query execution plan.
  • ANALYZE - For GPORCA, the ANALYZE command generates root partition statistics for partitioned tables. For the legacy optimizer, these statistics are not generated.
  • DML operations - For GPORCA, DML enhancements including the support of updates on partition and distribution keys might require additional overhead.

Also, enhanced functionality of the features from previous versions could result in additional time required when GPORCA executes SQL statements with the features.