关于嵌套循环连接,排序合并连接,和哈希连接

本文介绍了SQL中的三种连接方式:嵌套循环连接、排序合并连接和哈希连接。通过示例解释了每种连接的工作原理和使用场景。在嵌套循环连接中,一个表作为驱动表遍历另一个表。排序合并连接要求两表按连接字段排序后再合并。哈希连接则通过哈希表加速大表连接,但其与嵌套循环连接的区别并未详细说明。文章还提到,为连接字段建立索引可以显著提升查询效率。
摘要由CSDN通过智能技术生成

    作为众多菜鸟中的一员,虽然无数次的写SQL语句,但是从来只知道有哈希链接,但是从来没有使用过,链接只是使用无数老师和教科书教的:

    select a.id from a,b where a.id=b.id;


         相信有很多人也是如此。

今天就如何使用这三种链接及链接原理和使用场合进行了学习。

一嵌套循环连接:

SQL:select a.ac_id from test2 a,test3 b where a.ac_id=b.ac_id

解析该语句

本环境为Oracle 11g。不知道为什么使用上述语句执行结果是HASH连接。

把外层的表称为外表或驱动表,内层的表称为内表或被驱动表。

 

 

二。排序合并连接:

    SQL:select /*+ use_merge(a b)+*/ a.ac_id from test2 a,test3 b where a.ac_id=b.ac_id;

执行过程

 

即2个表各自按ac_id 排序,然后按2个表的顺序进行匹配,合并结果。

三。哈希连接&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值