Have you considered a join?
delete from t1 where pkey = t2.pkey;
Also, it appears you never ANALYZEd t2, maybe that would help?
On Tue, Nov 30, 2004 at 04:55:58AM -0500, sar@northelectriccompany.com wrote:
> I have a table t1 with a primary key column pkey, and a table t2, with a primary key column pkey. Is there a way to
makethe following delete use the indexes?
>
> delete from t1 where pkey in (select pkey from t2);
>
> NOTICE: QUERY PLAN:
>
> Seq Scan on t1 (cost=0.00..6616238.99 rows=660239 width=6)
> SubPlan
> -> Seq Scan on t2 (cost=0.00..20.00 rows=1000 width=8)
>
> EXPLAIN
>
>
> thanks,
> Sally
>
> ------------------------------------------
> Sally Ruggero
> Software Development
>
> North Electric Company, Inc.
> 6131 Falls of Neuse Road, Suite 205
> Raleigh, NC 27609
>
> Office: (919) 341-6009
> Fax: (919) 341-6010
>
> Email: sally.ruggero@northelectriccompany.com
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.