我正在R中将SQL与RSQLite,DBI和dbplyr一起使用。我想联接多个非常大的表,并且联接始终在唯一的ID上(每个表的ID都是唯一的,这是一个适当的关系数据库)。一旦发现每个观察结果都匹配,有没有办法让SQL停止加入?
让我举一个简单的例子。我从table_1开始,它是一个更大的表的一小部分:
unique_id value_1
1 50
2 100
3 100
我想将此表与更大的table_2合并:
unique_id value_2
1 500
2 10
3 102
4 500
5 10
6 102
7 500
8 10
9 102
... ...
我通过以下方式完成
:library(RSQLite)
library(DBI)
library(dbplyr)
# some connection statements to my database
new_tab <- left_join(table_1, table_2, by = 'unique_id')
此操作需要一些时间,因为它正在搜索表2的所有潜在匹配项,并且表2很大。但是,由于ID是唯一的,所以我知道一旦对表1中的每个观察值都有一个匹配项,就可以完成。无需继续查看表2。有没有一种方法可以告诉SQL此时停止连接?