On Jul 9, 2007, at 10:07 PM, Postgres User wrote:
> materialized view - view_a
> child tables - table_a, table_b, table_c
>
> Here's my question- what's the fastest what to retrieve rows from each
> of the child tables after I get results from view_a ?
> I don't like using temp tables in Postgres (too much pain in the
> past), so first selecting into a temp table which could subsequently
> be joined against the child tables isn't appealing to me.
>
> The result set from materialized view_a will never exceed 60 rows, so
> I'm thinking about this:
> a) LOOP on a SELECT FROM view_a
> b) for each record, add the row id to one of 3 comma delimited strings
> (one per child table)
> c) perform a SELECT WHERE IN (delimited_string) from each child table
Build an array of IDs and then use that in your 3 queries with the
ANY operator.
--
Jim Nasby jim@nasby.net
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)