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

Reply via email to