想请教大虾们一个问题。
我现在有两个表。
表一有一个字段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不能查找?麻烦大家想想办法,感激不尽啊。
解决方案 »
- 有没有innodb锁机制的实时监控
- 帮帮忙啦!超级郁闷呀!!!
- 版本不支持子查询,怎样将纵向数据查询出来横向显示
- MYSQL在进行大表查询时报错ERROR CODE 28 C:盘空间不足了!
- 如何获取当前数据库的名字?
- 求一较难sql(mysql),急!!
- MySQL 4.1-alpha 如何更改表的character_set?
- 为何显示not found ?
- 请哪位大人讲解一下mysql中那么多数据类型的区别和用法。
- 新手 刚开始用mysql 不知道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