1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

Update IN/EXISTS item.

This commit is contained in:
Bruce Momjian
2002-10-10 03:15:19 +00:00
parent 5aa7849e1b
commit 52f6918c28
2 changed files with 16 additions and 10 deletions

15
doc/FAQ
View File

@ -1,7 +1,7 @@
Frequently Asked Questions (FAQ) for PostgreSQL
Last updated: Mon Sep 30 23:28:35 EDT 2002
Last updated: Wed Oct 9 23:14:53 EDT 2002
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
@ -998,18 +998,21 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
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. A
workaround is to replace IN with EXISTS:
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 col1 IN (SELECT col2 FROM TAB2)
WHERE col IN (SELECT subcol FROM subtab)
to:
SELECT *
FROM tab
WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)
WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col)
We hope to fix this limitation in a future release.
For this to be fast, subcol should be an indexed column. We hope to
fix this limitation in a future release.
4.23) How do I perform an outer join?