多表查询用 join 好吗

本文介绍了SQL连接查询的起源及其在20世纪80年代的发展历程,并详细解释了各种连接类型如INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN和FULL OUTER JOIN等的概念及应用场景。此外还讨论了在处理大数据时如何避免使用JOIN查询以提高查询效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      SQL连接查询的由来:人们对20实际80年代的SQL标准提出批评,认为SELECT语句中无直接的连接或自然连接操作。SQL吸收了这个意见,用较为直接的形式表示各式各样的连接操作,这些操作可在FROM字句中以直接的形式指出。在书写两个关系的连接操作时,SQL2把连接操作符分成连接类型和连接条件两部分(如果图1)连接类型决定了如何处理连接条件中不匹配的元祖。连接条件决定了两个关系中哪些元祖应该匹配,以及连接结果中出现哪些属性。

图1

连接类型连接条件
INNER JOIN(内连接)NATURAL(写在连接类型的左边)
LEFT OUTER JOIN(左外连接)ON 写在连接类型的右边
RIGHT OUTER JOIN(右外连接)USING 写在连接类型的右边
FULL OUTER JOIN(完全外连接) 
  

       SQL join 连接的限制:出了sql join 连接查询后,是方便了我们查询。但是当数据超过千万条时却不能再用join了因为此时如果用join的话速度会很慢。这就是好多程序员再优化程序时经常做的一部。去查找有没有过万的表去join过万数据的表。然后把它拆开。这样会明显增加速度。

还有为了增加查询速度在经常用到的字段,还有where后面经常用的也可以加一些非聚集索引等来加快查询的速度。

       总之大数据避免用join连接查询(因为用join的时候库在做笛卡尔基如果数据量过大会很慢的,甚至卡死)。

转载于:https://www.cnblogs.com/honghong75042/archive/2012/08/09/2630316.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值