关联查询sql性能

声明-------      A:大表          B:小表

第一种写法.
select * from A a,B b
where 
b.id = a.b_id


第二种写法:
select * from A a,B b
wehre 
a.b_id = b.id


乍一看,两个sql是没有什么不一样的地方 ;
但仔细分析后就能看出区别在哪里?:
第一种写法是根据B表的id来关联A表的b_id;
而第二种写法是根据A表的b_id来关联B表的id;

这两种写法在查询效率上来讲也是存在着很大的差别的:(注:a > b)
第一种写法等于是 a的b次方     来进行遍历查询;  
而第二种写法等于是 b的a次方  来进行遍历查询;

由计算结果可知:
a的b次方  <  b的a次方

总结 :

当两个表进行关联时,可让小表的关联条件置于前面,大表的关联条件置于后面;
即 b.id = a.b_id;
这样将有效的提高本条sql的执行效率。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值