方法1:select data from 数据1 a,数据2 b
where a.data=b.data
方法2:
select data from 数据1 a where exists (select 'x' from 数据2 b where a.data=b.data);
where a.data=b.data
方法2:
select data from 数据1 a where exists (select 'x' from 数据2 b where a.data=b.data);
解决方案 »
- Ext 用Ext.Loader.setConfig方法不好使
- 为何jQuery取此名
- javascript 中body和documentElement的区别
- 如何点击某链接后,使该连接的class改变
- 如何用JS限制文本框只能输入价格类型的内容如“102.30"
- 我做的随机广发代码没成功,大家看看有什么问题
- 大家帮我看看这个是怎么实现的。。。。
- 关于select的multiple的简单问题
- 请问怎样设置一个网页中ActiveX的属性,条件是在ActiveX运行之前,请问有什么事件吗?
- 你们真的能获取跟修改iframe中元素的值吗?
- 如何用js与网页中内嵌的word文档交互?请较高人!
- 如何在页面中生成一个浮动窗口?
sql server 能承受住吗??
我在电信,最大只做过40GB的表,但机器一定要强,内存要大。
12 8 2
2 2 3
3 5 5
4 3 .
5 7 .
. . .
. . .
. .
. .
等有很多啊超过 50亿条
数据1 和 数据2 里都是些 数字id 大到不大, 但是 50亿条倒是很多我需要的是,先不考虑机器, 按什么方式,能对比的快一些!非得用for吗?难道没有 按某种 方式排列 然后 好对比
j=0;max=X+1;
for (i=0;i<max;i++)
{
if (bit1[i]&bit2[i])
{
ret[j]=i;
j++;
}
}
此外还有一些优化方法,比如在bit1[x]=1设置计算中添加判断和一个计数器M,
M=0;
....
do
{
if (!bit1[x])
{M++;
bit1[x]=1;
if (M==X+1)//所有的可能已经满了
...;//退出检测新数据操作
}
}while(还有新数据)
在一张足够大,建过索引的表里做标记。
第一次浏览到此数据为1,第二次为2。
然后根据此标记取出,Over
2。显示得时候,分页显示(惰性装载。要不就用dll在分析)
12 8 2
2 2 3
3 5 5
4 3 .
5 7 .
. . .
. . .
. .
. .
数据1 和 数据2 可以看做是一个单独的文本文件
而 得出的数据就是 数据1中和数据2中都有的数字,并非是每行所对照的结果啊.
如果问题简单了,我就不会麻烦各位高手了!
to iamceo(CEO) "为何会有50亿的数据量?" 因为数据多所以就有啊!
问题不难你能解决吗? 我很急等用啊
没难度发到csdn来有点屈才了!
用 lint(越来越懒) 老兄的方法应该就差不多了
或者分段查了,一部分一部分的,比如第一次查大于100的,第二次查大于200的
查出来的数据放到一个临时表中再排序。
问题只在于,这50亿的数据已什么形式存在?