Re: best way to query
От | Daniel Verite |
---|---|
Тема | Re: best way to query |
Дата | |
Msg-id | c2253cb4-fe3b-4f6a-8040-ab9c9b44c757@mm обсуждение исходный текст |
Ответ на | best way to query (Steve Clark <sclark@netwolves.com>) |
Ответы |
Re: best way to query
|
Список | pgsql-general |
Steve Clark wrote: > any way i have 2 table - A and B. > each table has a key field and if a row is in B it should have a > corresponding row in A - but theres > the problem it doesn't for all the rows in B. > > So I want to do something like > delete from B where key not in (select key from A order by key); > > The problem is there are about 1,000,000 rows in A and 300,000 rows in > B. I let the above run > all night and it was still running the next morning. Does anyone have > an idea of a better way. An outer join is sometimes spectacularly more efficient for this particular kind of query. I'd suggest you try: delete from B where key in (select B.key from B left outer join A on A.key=B.key where A.key is null) -- Daniel PostgreSQL-powered mail user agent and storage: http://www.manitou-mail.org
В списке pgsql-general по дате отправления: