IN与EXISTS和INNER JOIN执行效率

主要是查询日志里面的数据个数,过滤掉一些非法ip,手机上的,因此存在非法ip一说,呵呵

log_pv里面的数据有3000多,而t_ipnetlist表里有移动网关ip45000条左右。

select count(id) from log_pv where (issue_id=1042 or issue_id=1044 ) and exists (select ip from t_ipnetlist where log_pv.ip=t_ipnetlist.ip)

select count(id) from log_pv where (issue_id=1042 or issue_id=1044 ) and log_pv.ip in (select ip from t_ipnetlist )

select count(id) from log_pv as t1 INNER JOIN t_ipnetlist as t2 on t1.ip=t2.ip where t1.issue_id=1042 or t1.issue_id=1044

in数据量少效率还可以,数据量大就效率低
exists的效率依赖于匹配度。
inner join效率比较稳定。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值