sql嵌套查询删除怎么优化?
0
DIM_MZHZ有两百多万条记录,我想做一个带子查询的删除,如下,发现半天出不来,看了下执行计划,好像有个全表扫描,这个能优化么?
delete from ETYY_DW.dbo.DIM_MZHZ_TMP where not exists (select * from DIM_MZHZ b where patid=b.patid)
delete from ETYY_DW.dbo.DIM_MZHZ_TMP where not exists (select * from DIM_MZHZ b where patid=b.patid)
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
3 个回复
悟 - 取是能力,舍是境界 2016-03-14 回答
赞同来自: 郑大鹏
如果删除的记录占全表的比较少的话,可以用子查询in。
红旗下的匪徒 2016-03-17 回答
赞同来自: 郑大鹏
gogodiy - 天善智能数据库专家、Tableau爱好者 2016-03-14 回答
赞同来自:
2.使用delete from table1 inner join table2 on a.patid=b.parit试试。