1

我想检查表中是否cust_data_card_id存在,表中tbl_cust_data是否存在tbl_cust_dump_data.cust_data_card_id等。

我写了以下代码

select * from tbl_cust_dump_data 
where tbl_cust_dump_data.cust_data_card_id NOT IN
      (select cust_data_card_id from tbl_cust_data);

当查询返回超过 18000 行时,tbl_cust_data它没有返回任何结果,它只显示加载了很长时间,但可以使用较小的数据集

4

2 回答 2

1

尝试:

SELECT * 
FROM tbl_cust_dump_data t1
WHERE NOT EXISTS
      (SELECT 0 
       FROM tbl_cust_data t2
       WHERE t2.cust_data_card_id = t1.cust_data_card_id)

tbl_cust_dump_data使用此查询,如果cust_data_card_id表中不存在,您将能够从中选择行tbl_cust_data

于 2013-06-05T06:16:26.110 回答
0

我想不久前有人问过类似的问题>> HERE <<。确保您已cust_data_card_id编入索引并请发布结果

EXPLAIN
select * from tbl_cust_dump_data 
where tbl_cust_dump_data.cust_data_card_id NOT IN
      (select cust_data_card_id from tbl_cust_data);

这样我们就可以看到可以进一步优化的内容。

于 2013-06-05T05:50:12.010 回答