Thanks Jeff .
i was not aware of this syntax , i will try it
next time when i require to do something like this.
unfortunately i have deleted this time
using perl dbi
mallah.
Jeff Eckermann wrote:
> A join probably will work best for you. A quick way
> to do an implicit join:
>
> delete from email_bank where email_id = t_a.email_id;
>
> --- Rajesh Kumar Mallah <mallah@trade-india.com>
> wrote:
> > Hi folks,
> >
> > I think there is still a problem ,
> >
> > email_bank contains ~ 1 million records and t_a
> > contains 58 records
> > both are indexed on email_id ( integer colmn.) i
> > want to remove these 58
> > records
> > from email_bank where email_id in t_a &
> > email_bank match.
> >
> > but the below is still slow !
> >
> >
> > explain delete from email_bank where exists (select
> > email_id from t_a where
> > email_bank.email_id=t_a.email_id) ;
> > NOTICE: QUERY PLAN:
> >
> > Seq Scan on email_bank (cost=0.00..1760313.80
> > rows=1009397 width=6)
> > SubPlan
> > -> Seq Scan on t_a (cost=0.00..1.73 rows=1
> > width=4)
> >
> > EXPLAIN
> >
> > PS:
> > I ran VACUUM ANALYZE on email_bank and t_a and
> > both are indexed on
> > email_id before
> > the explain .
> >
> >
> > regds
> > mallah.
> >
> >
> > Rajesh Kumar Mallah wrote:
> >
> > > Hi folks,
> > >
> > > We require to do below or similar quite often
> > >
> > > DELETE from t_a where email in (select email from
> > t_b);
> > >
> > > everyone knows "IN" is pain fully slow currently
> > in pgsql
> > > is the any fster alternative to above query
> > >
> > > regds
> > > Mallah.
> > >
> > > ---------------------------(end of
> > broadcast)---------------------------
> > > TIP 1: subscribe and unsubscribe commands go to
> > majordomo@postgresql.org
> >