From 57a84ca48e8901e77583f0c415f288430f5d66af Mon Sep 17 00:00:00 2001
From: Neil Conway <neilc@samurai.com>
Date: Sun, 22 Jan 2006 03:56:58 +0000
Subject: [PATCH] Minor improvements to GEQO documentation.

---
 doc/src/sgml/geqo.sgml | 38 +++++++++++++++++---------------------
 1 file changed, 17 insertions(+), 21 deletions(-)

diff --git a/doc/src/sgml/geqo.sgml b/doc/src/sgml/geqo.sgml
index 35bb36f22af..a723f4411ad 100644
--- a/doc/src/sgml/geqo.sgml
+++ b/doc/src/sgml/geqo.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/geqo.sgml,v 1.34 2005/11/07 17:36:44 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/geqo.sgml,v 1.35 2006/01/22 03:56:58 neilc Exp $
 Genetic Optimizer
 -->
 
@@ -46,8 +46,8 @@ Genetic Optimizer
    <para>
     Among all relational operators the most difficult one to process
     and optimize is the <firstterm>join</firstterm>. The number of
-    alternative plans to answer a query grows exponentially with the
-    number of joins included in it. Further optimization effort is
+    possible query plans grows exponentially with the
+    number of joins in the query. Further optimization effort is
     caused by the support of a variety of <firstterm>join
     methods</firstterm> (e.g., nested loop, hash join, merge join in
     <productname>PostgreSQL</productname>) to process individual joins
@@ -57,34 +57,30 @@ Genetic Optimizer
    </para>
 
    <para>
-    The current <productname>PostgreSQL</productname> optimizer
-    implementation performs a <firstterm>near-exhaustive
-    search</firstterm> over the space of alternative strategies. This
-    algorithm, first introduced in the <quote>System R</quote>
-    database, produces a near-optimal join order, but can take an
-    enormous amount of time and memory space when the number of joins
-    in the query grows large. This makes the ordinary
+    The normal <productname>PostgreSQL</productname> query optimizer
+    performs a <firstterm>near-exhaustive search</firstterm> over the
+    space of alternative strategies. This algorithm, first introduced
+    in IBM's System R database, produces a near-optimal join order,
+    but can take an enormous amount of time and memory space when the
+    number of joins in the query grows large. This makes the ordinary
     <productname>PostgreSQL</productname> query optimizer
     inappropriate for queries that join a large number of tables.
    </para>
 
    <para>
     The Institute of Automatic Control at the University of Mining and
-    Technology, in Freiberg, Germany, encountered the described problems as its
-    folks wanted to take the <productname>PostgreSQL</productname> DBMS as the backend for a decision
-    support knowledge based system for the maintenance of an electrical
-    power grid. The DBMS needed to handle large join queries for the
-    inference machine of the knowledge based system.
-   </para>
-
-   <para>
-    Performance difficulties in exploring the space of possible query
-    plans created the demand for a new optimization technique to be developed.
+    Technology, in Freiberg, Germany, encountered some problems when
+    it wanted to use <productname>PostgreSQL</productname> as the
+    backend for a decision support knowledge based system for the
+    maintenance of an electrical power grid. The DBMS needed to handle
+    large join queries for the inference machine of the knowledge
+    based system. The number of joins in these queries made using the
+    normal query optimizer infeasible.
    </para>
 
    <para>
     In the following we describe the implementation of a
-    <firstterm>Genetic Algorithm</firstterm> to solve the join
+    <firstterm>genetic algorithm</firstterm> to solve the join
     ordering problem in a manner that is efficient for queries
     involving large numbers of joins.
    </para>
-- 
GitLab