Frequently Asked Questions (FAQ) for PostgreSQL
                                        
-   Last updated: Fri Oct 10 17:27:02 EDT 2003
+   Last updated: Wed Oct 29 15:19:43 EST 2003
    
    
 
     4.22) Why are my subqueries using IN so slow?
     
-   Currently, we join subqueries to outer queries by sequentially
-   scanning the result of the subquery for each row of the outer query.
-   If the subquery returns only a few rows and the outer query returns
-   many rows, IN is fastest. To speed up other queries, replace IN with
-   EXISTS:
+   In versions prior to 7.4, subqueries were joined to outer queries by
+   sequentially scanning the result of the subquery for each row of the
+   outer query. If the subquery returns only a few rows and the outer
+   query returns many rows, IN is fastest. To speed up other queries,
+   replace IN with EXISTS:
     SELECT *
     FROM tab
     WHERE col IN (SELECT subcol FROM subtab);
     FROM tab
     WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
 
-   For this to be fast, subcol should be an indexed column. This
-   preformance problem will be fixed in 7.4.
+   For this to be fast, subcol should be an indexed column.
+   
+   In version 7.4 and later, IN actually uses the same sophisticated join
+   techniques as normal queries, and is prefered to using EXISTS.
    
     4.23) How do I perform an outer join?
     
 
   alink="#0000ff">
     <H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
 
-    <P>Last updated: Fri Oct 10 17:27:02 EDT 2003</P>
+    <P>Last updated: Wed Oct 29 15:19:43 EST 2003</P>
 
     <P>Current maintainer: Bruce Momjian (<A href=
     <H4><A name="4.22">4.22</A>) Why are my subqueries using
     <CODE><SMALL>IN</SMALL></CODE> so slow?</H4>
 
-    <P>Currently, we join subqueries to outer queries by sequentially
-    scanning the result of the subquery for each row of the outer
-    query. If the subquery returns only a few rows and the outer query
-    returns many rows, <CODE><SMALL>IN</SMALL></CODE> is fastest.  To
+    <P>In versions prior to 7.4, subqueries were joined to outer queries
+    by sequentially scanning the result of the subquery for each row of
+    the outer query. If the subquery returns only a few rows and the outer
+    query returns many rows, <CODE><SMALL>IN</SMALL></CODE> is fastest.  To
     speed up other queries, replace <CODE>IN</CODE> with
     <CODE>EXISTS</CODE>:</P>
 <PRE>    SELECT *
 </PRE>
 
     For this to be fast, <CODE>subcol</CODE> should be an indexed column.
-    This preformance problem will be fixed in 7.4.
+    <P>In version 7.4 and later,  <CODE>IN</CODE> actually uses the same
+    sophisticated join techniques as normal queries, and is prefered
+    to using <CODE>EXISTS</CODE>.
 
     <H4><A name="4.23">4.23</A>) How do I perform an outer join?</H4>