我有2张表,如下所示。 (每个表中有100万条记录)当我加入这两个表并使用OR子句执行查询时,它非常慢。是否可以加入2个表?
df_monthly$Date<-data.frame(seq(as.Date("2017/08/01"), as.Date("2017/09/05"), "months"))
> df_monthly
item1 item2 item3 Date
1 8 201 90 Numeric,2
6 2 41 18 Numeric,2
这很慢。 (或发生超时错误)
1. tblA
id | name
---------------------
1 | Bob
2 | carol
2. tblB
id | name
---------------------
1 | Alice
2 | carol
每个查询都不慢。
select * from `tblA` left outer join `tblB` on `tblA`.`name` = `tblB`.`name` where `tblA`.`name` = 'Alice' or `tblB`.`name` = 'Alice'
答案 0 :(得分:1)
您可以使用union
select * from `tblA` where `name` = 'Alice'
union all
select * from `tblB` where `name` = 'Alice'
答案 1 :(得分:1)
我建议union all
:
select *
from `tblA` a left outer join
`tblB` b
on a.name = b.name
where a.name = 'Alice'
union all
select *
from `tblA` a inner join
`tblB` b
on a.name = b.name
where b.name = 'Alice' and a.name <> 'Alice' -- got it in the first query;