- N +

大表小表关联搜索优化,大表与小表关联优化思想

大表小表关联搜索优化,大表与小表关联优化思想原标题:大表小表关联搜索优化,大表与小表关联优化思想

导读:

Intro...

大小表关联,怎么关联才好

使用mapjoin。

根据查询CSDN博客得知,在大小表关联时,最好的关联方式是使用mapjoin,可以大大提高查询性能。使用MapJoin需要满足以下条件:一份表的数据分布在不同的Map中外,其他连接的表的数据必须在每个Map中有完整的拷贝。在两个要连接的表中,有一个很大,有一个很小,这个小表可以存放在内存中而不影响性能。

MapJoin是一种在Map阶段进行表之间连接的技术,不需要进入到Reduce阶段才进行连接。这样做可以节省在Shuffle阶段的大量数据传输,从而起到优化作业的作用。

SQL怎么从大表里面 查询包含小表的内容

--一个方案可才用IN关键字(针对单个字段信息是否包含)

SELECT* FROM FROM表1 WHERE字段名 in(SELECT字段名 FROM表2)

--第二个方案采用inner join连接(可多个字段同时一样)

SELECT*

FROM表1

INNER JOIN表2 on表1.字段A=表2.字段A and表1.字段B=表2.字段B

--(上面的语句的意思是:查询出表1中字段A和字段B内容在表2都存在的数据)

如有什么问题可以追问,谢谢。

--补充回答

SELECT*

FROM表1

INNER JOIN表2 on表1.A=表2.X or表1.B=表2.X or表1.C=表2.X or表1.D=表2.X

或者

SELECT*

FROM表1

where A in(SELECT X FROM表2)

OR B in(SELECT X FROM表2)

OR C in(SELECT X FROM表2)

OR D in(SELECT X FROM表2)

返回列表
上一篇:
下一篇: