怎样快速得到两个表的交集# Database - 数据库
x*e
1 楼
我有两个表,都只有一个属性 “ID”,每张表差不多都有5万条记录
比如
ID
10
13
300
100
12
1001
。。。
另外一个表也一样,只是记录的数据可能不同
现在要求2个表的交集,可以这么做
select * from table1, table2 where table1.ID = table2.ID;
但是因为表比较大,上面这个命令费时间太多(因为对所有记录两两比较, O(n^2))
按理说如果两个表先进行排序,后在求交集的话,时间复杂度只是线性的(O(2n))
但是我不知道怎么用SQL语言实现,请各位大牛帮忙
多谢
比如
ID
10
13
300
100
12
1001
。。。
另外一个表也一样,只是记录的数据可能不同
现在要求2个表的交集,可以这么做
select * from table1, table2 where table1.ID = table2.ID;
但是因为表比较大,上面这个命令费时间太多(因为对所有记录两两比较, O(n^2))
按理说如果两个表先进行排序,后在求交集的话,时间复杂度只是线性的(O(2n))
但是我不知道怎么用SQL语言实现,请各位大牛帮忙
多谢