mysql数据取差

数据准备 b_car_info_bak_copy表

mysql数据取差,mysql屏蔽主外键关联关系_外键约束

a_b_ref表

mysql数据取差,mysql屏蔽主外键关联关系_mysql_02

使用not in 查询

select id from b_car_info_bak_copy where id not in

(select id from all_business_basis.a_b_ref )

但是,not in的查询效率是极度低下的,主要是去到上万,仅仅是上万级的数据查询就会出现在查询的时候死机,无法查询的情况,因此还不得不得换做左链接查询的方式,具体如下

select a.id from b_car_info_bak_copy a LEFT JOIN all_business_basis.a_b_ref b
on a.id = b.id where  b.id is null

mysql屏蔽主外键关系

禁用外键约束.
    使用SET FOREIGN_KEY_CHECKS=0;
然后这块执行我们的插入语句....
启动外键约束.
    SET FOREIGN_KEY_CHECKS=1;来
查看当前FOREIGN_KEY_CHECKS的值可用如下命令
    SELECT  @@FOREIGN_KEY_CHECKS;