On Thu, Apr 26, 2018 at 07:29:37PM +1200, David Rowley wrote:
> On 25 April 2018 at 09:59, Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote:
> > Amit Langote wrote:
> >> Although the config.sgml coverage of the new capabilities seems pretty
> >> good, some may find their being mentioned in 5.10 Table Partitioning
> >> helpful.  Or if we don't want to hijack 5.10.4, maybe create a 5.10.5.
> >
> > Can you (or someone) describe what would that section contain?
> 
> I've drafted and attached a patch of how I think this should look.
> Likely it will need some tweaking, but it is probably a good starting
> point for discussion.

diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index 34da0d8d57..89735b4804 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml

+   <para>
+    Unlike constraint exclusion, partition pruning can be performed much more
+    quickly as it does not have to scan each individual partition's metadata
quickly COMMA

But actually I suggest:
Partition pruning is much more efficient than constraint exclusion, since
pruning avoids scanning each partition's metadata...


+    Partition Pruning is also more powerful than constraint exclusion as
+    partition pruning is not something that is performed only during the
remove "something that is" ?
Or just merge into the next sentence.
Note: Amit and David commented on this previously.

+    planning of a given query.  In certain cases, partition pruning may also
+    be performed during execution of the query as well.  This allows pruning
"also" is redundant with "as well"

+    to be performed using values which are unknown during query planning, for
could say "are not yet known"

+    The partition pruning which is performed during execution is done so at
+    either one or both of the following times:
remove "either" ?

+       During initialization of the query plan.  Partition pruning can be
+       initialization phase of execution.  If partition pruning can be
+       performed here then there is the added benefit of not having to
here COMMA

+       initialize partitions which are pruned.  Partitions which are pruned
+       during this stage will not show up in the query's

+       During actual execution of the query plan.  Partition pruning may also
Remove "actual" ?

+       be performed here to remove partitions using values which are only known
+       during actual query execution.  This includes values from subqueries and

+       values from execution time parameters such as ones from parameterized
execution-time?
s/ones/those/

+       partition column or expression changes.  In order to determine if
+       partitions were pruned at this stage requires careful inspection of the
+       <literal>nloops</literal> property in the
+       <command>EXPLAIN ANALYZE</command> output.
s/In order to determine/Determining/

+    <para>
+     Currently, partition pruning of partitions during the planning of an
s/partition //1 (just "pruning of partitions")

+     <command>UPDATE</command> or <command>DELETE</command> command are
s/are/is/

+     internally implemented using the constraint exclusion method.  Only
remove "internally"?

+     <command>SELECT</command> uses the faster partition pruning method.  Also
Also COMMA

+     partition pruning performed during execution is only done so for the
Remove "so".

Justin

Reply via email to