大数据量关联查询,速度极慢,请问如何优化
表: testmobile(数量:88W条)
字段:
DROP TABLE IF EXISTS `testmobile`;
CREATE TABLE `testmobile` (
`mobile` varchar(12) NOT NULL,
PRIMARY KEY (`mobile`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
表:mobilelist(数量:232W条)
字段:
DROP TABLE IF EXISTS `mobilelist`;
CREATE TABLE `mobilelist` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`mobile` varchar(12) DEFAULT NULL,
`city` varchar(10) DEFAULT NULL,
`type` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2233847 DEFAULT CHARSET=gb2312;
需求,表testmobile中,剔除表mobilelist中出现过的mobile信息。
我处理是这样:
select m.mobile, h.mobile as existmobile
from testmobile m
left JOIN
( select mobile
from mobilelist
)h on m.mobile = h.mobile
初步想法是这样:通过脚本取出的数据,导出为csv或文本文件,再通过程序来判断,只要existmobile存在有值的数据,就进行删除掉
结果在执行这个脚本时,已经执行1个多小时了,数据还没有出来。
请问有更好的办法来解决吗?