表A 2个字段  ID和value,表的大小是300M+表B 2个字段  ID和value,表的大小是几百KSQL是delete from 表A where id not in(select id form 表B group by value);括号里的结果有 5千多条
这个SQL已经跑了很久了

解决方案 »

  1.   


    delete a from 表A a
    inner join (select id form 表B group by value) b 
    on a.id=b.id
      

  2.   

    把 IN 换成 JOIN, 这样速度会快。
      

  3.   

    再问下我这SQL不是跑了很久了吗,SQL工具没当掉,但等不及了 就强关了。但我再count*表A  数量是应该查询后的数量我这强关SQL 会影响数据的完整性吗 或者说是造成数据损坏什么的?
      

  4.   

    不会,数据库会当你这个sql没执行过