what is less resource-intensive, WHERE id IN or INNER JOIN?

From: Miernik <public(at)public(dot)miernik(dot)name>
To: pgsql-performance(at)postgresql(dot)org
Subject: what is less resource-intensive, WHERE id IN or INNER JOIN?
Date: 2008-07-30 22:11:58
Message-ID: 20080730221158.5323.1.NOFFLE@turbacz.local
Views: Raw Message | Whole Thread | Download mbox
Thread:
Lists: pgsql-performance

AFAIK, provided bar is UNIQUE in table2 (e.g. is a PRIMARY KEY) the two
queries will give the same result:

SELECT foo, id FROM table1 WHERE id IN (SELECT id FROM table2);

SELECT foo, id FROM table1 INNER JOIN table2 USING (id);

Given table1 has about 100k rows, and table2 about 100 rows, which one
should be faster, less resource intensive, use less RAM, disk access, etc?
Are there any other even better ways to acomlish the same query?

Using 8.3.3 on a 48 MB RAM Xen.

--
Miernik
http://miernik.name/

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Mark Roberts 2008-07-30 22:14:19 Re: Database size Vs performance degradation
Previous Message Miernik 2008-07-30 21:58:34 Re: Database size Vs performance degradation