Steve Clark <sclark(at)netwolves(dot)com> writes:
> explain insert into myevents select * from t_unit_event_log a where exists
> (select b.event_log_no from myevents b
> where a.event_status = 1 and a.event_ref_log_no IS NOT NULL
> and a.event_ref_log_no = b.event_log_no and a.event_log_no not in
> (select event_log_no from myevents)
> )
Consider testing the conditions on A at the top level, instead of
redundantly checking them inside the sub-query on B. I'm not certain
exactly how much that's hurting you (EXPLAIN ANALYZE output would've
been more informative), but it can't be good.
regards, tom lane