query-piv-opt-limitations.xml 4.4 KB
Newer Older
1 2 3 4 5
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd">
<topic id="topic1">
  <title>GPORCA Limitations</title>
  <abstract>
D
David Yozie 已提交
6
    <shortdesc>There are limitations in Greenplum Database when using the default GPORCA optimizer.
7
      GPORCA and the Postgres query optimizer currently coexist in Greenplum Database because GPORCA
D
David Yozie 已提交
8
      does not support all Greenplum Database features. </shortdesc>
9 10 11 12 13 14 15 16 17 18
  </abstract>
  <body>
    <p>This section describes the limitations. <ul id="ul_a3q_pbm_vp">
        <li><xref href="#topic_kgn_vxl_vp" format="dita"/></li>
        <li><xref href="#topic_u4t_vxl_vp" format="dita"/></li>
      </ul></p>
  </body>
  <topic id="topic_kgn_vxl_vp">
    <title>Unsupported SQL Query Features</title>
    <body>
D
David Yozie 已提交
19 20 21 22
      <p>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:<codeblock>Feature not supported by the Pivotal Query Optimizer: UTILITY command</codeblock></p>
      <p>These features are unsupported when GPORCA is enabled (the default): <ul id="ul_ndm_gyl_vp">
23 24
          <li>Indexed expressions (an index defined as expression based on one or more columns of
            the table)</li>
25
          <li>GIN indexing method. GPORCA supports only B-tree, bitmap, and GiST indexes. GPORCA
26
            ignores indexes created with unsupported methods.</li>
27 28 29 30 31 32
          <li>External parameters</li>
          <li>These types of partitioned tables:<ul id="ul_v2m_mmc_bt">
              <li>Non-uniform partitioned tables.</li>
              <li>Partitioned tables that have been altered to use an external table as a leaf child
                partition.</li>
            </ul></li>
33 34
          <li>SortMergeJoin (SMJ).</li>
          <li>Ordered aggregations.</li>
35 36 37 38 39 40 41 42 43
          <li>These analytics extensions:<ul id="ul_iwr_3yl_vp">
              <li>CUBE</li>
              <li>Multiple grouping sets</li>
            </ul></li>
          <li>These scalar operators:<ul id="ul_nd2_kyl_vp">
              <li><cmdname>ROW</cmdname></li>
              <li><cmdname>ROWCOMPARE</cmdname></li>
              <li><cmdname>FIELDSELECT</cmdname></li>
            </ul></li>
44 45 46 47
          <li>Aggregate functions that take set operators as input arguments.</li>
          <li><cmdname>percentile_*</cmdname> window functions (Greenplum Database does not support
            ordered-set aggregate functions).</li>
          <li>Inverse distribution functions.</li>
48
          <li>Queries that execute functions that are defined with the <codeph>ON MASTER</codeph> or
49
              <codeph>ON ALL SEGMENTS</codeph> attribute.</li>
50
          <li>Queries that contain UNICODE characters in metadata names, such as table names, and
51
            the characters are not compatible with the host system locale.</li>
M
Mel Kiyama 已提交
52
          <li><codeph>SELECT</codeph>, <codeph>UPDATE</codeph>, and <codeph>DELETE</codeph> commands
53
            where a table name is qualified by the <codeph>ONLY</codeph> keyword.</li>
54 55 56
          <li>Per-column collation. GPORCA supports collation only when all columns in the query use
            the same collation. If columns in the query use different collations, then Greenplum
            uses the Postgres query planner.</li>
57 58 59 60 61 62
        </ul></p>
    </body>
  </topic>
  <topic id="topic_u4t_vxl_vp">
    <title>Performance Regressions</title>
    <body>
63 64 65
      <p>The following features are known performance regressions that occur with GPORCA enabled:<ul
          id="ul_zp2_4yl_vp">
          <li>Short running queries - For GPORCA, short running queries might encounter additional
D
David Yozie 已提交
66 67 68
            overhead due to GPORCA enhancements for determining an optimal query execution
            plan.</li>
          <li><cmdname>ANALYZE</cmdname> - For GPORCA, the <cmdname>ANALYZE</cmdname> command
69
            generates root partition statistics for partitioned tables. For the Postgres optimizer,
D
David Yozie 已提交
70 71 72
            these statistics are not generated.</li>
          <li>DML operations - For GPORCA, DML enhancements including the support of updates on
            partition and distribution keys might require additional overhead. </li>
73 74
        </ul></p>
      <p>Also, enhanced functionality of the features from previous versions could result in
75
        additional time required when GPORCA executes SQL statements with the features. </p>
76 77 78
    </body>
  </topic>
</topic>