想请教大虾们一个问题。
我现在有两个表。
表一有一个字段A,里面存储的是大概10万条左右的流水编码,由17个字母+数字组成。
表2的字段B和表一的字段A结构一样不同的只是数量。20万条。现在我要实现找出同时存在于字段A,B里面的数据(A,B字段里面肯定会有相同项的数据,但是AB字段的数据排序完全不相同),运行如下语句select A from [表一] where A IN (select B from [表二])但是对于这样庞大的数据,MYSQL似乎就吃不消了。想问问这样的情况难道真的MYSQL不能查找?麻烦大家想想办法,感激不尽啊。
我现在有两个表。
表一有一个字段A,里面存储的是大概10万条左右的流水编码,由17个字母+数字组成。
表2的字段B和表一的字段A结构一样不同的只是数量。20万条。现在我要实现找出同时存在于字段A,B里面的数据(A,B字段里面肯定会有相同项的数据,但是AB字段的数据排序完全不相同),运行如下语句select A from [表一] where A IN (select B from [表二])但是对于这样庞大的数据,MYSQL似乎就吃不消了。想问问这样的情况难道真的MYSQL不能查找?麻烦大家想想办法,感激不尽啊。
select A from [表一] inner join [表二] b on A=bect B
首先可以在A和B表里面对流水编码code字段建立索引。
alter table A add index code(code);
alter table B add index code(code);
此时就可以查询了,select a.code from A as a, B as b where a.code=b.code;
http://www.cnblogs.com/sufei/archive/2009/03/18/1415103.html