Adam DeVita wrote: > I've identified the following query as a bottle neck in a utility I've > written. > > insert or replace into main.masterlist select * from delta.masterlist > d where d.write_out_ok=0 and > d.sn not in(select M.sn from main.masterlist M where > M.record_updatetime > d.record_updatetime)
Try this: insert or replace into main.masterlist select * from delta.masterlist d where d.write_out_ok=0 and not exists (select 1 from main.masterlist M where M.sn = d.sn and M.record_updatetime > d.record_updatetime); It appears that your query doesn't use an index on M(sn), while mine does. Igor Tandetnik _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users