2011-05-11 190 views
1

我在表中有50964218条记录。我将从此表中获取数据并插入到同一个表中。这需要更多时间来操纵。如何优化此查询。查询优化

查询是

INSERT INTO contacts_lists (contact_id, list_id, is_excluded, added_by_search) 
SELECT contact_id, 68114 , TRUE, added_by_search 
FROM contacts_lists cl1 
WHERE list_id = 67579 
AND is_excluded = TRUE 
AND NOT EXISTS 
    (SELECT 1 FROM contacts_lists cl2 
    WHERE cl1.contact_id = cl2.contact_id AND cl2.list_id = 68114) 

指数:LIST_ID,CONTACT_ID

+0

你能告诉我们从解释结果?没有解释它几乎不可能帮助你。 – 2011-05-11 16:49:25

回答

1

你可能会得到一个左更好的效果加入:

select t1.[field], ... 
from t1 
left join t2 
on [conditions] 
where t2.[any pkey field] is null; 
+0

谢谢,我会试试看。 – Rafiu 2011-05-13 06:00:02