数据库sql语句中为什么exists关键字 要比 in 关键字执行效率高?

 我来答
百度网友2dca20d
推荐于2016-08-05 · TA获得超过4036个赞
知道大有可为答主
回答量:2638
采纳率:77%
帮助的人:1040万
展开全部
exists是根据子查询有无记录返回确定条件是否成立,如果有记录返回,条件成立,如果子查询未返回记录,条件不成立,不对子查询结果进行匹配,所以速度较快;in要对子查询返回的结果用in关键字前面的值逐个进行匹配,如果匹配成功条件成立,匹配不成功条件不成立,所以速度较慢。
hnxal
2014-12-23 · TA获得超过3.2万个赞
知道大有可为答主
回答量:6576
采纳率:66%
帮助的人:1958万
展开全部
exists 代表存在就取出来,从上到下扫描,达到前面的select top 记录数就停止了
in的话不一样,要每一个字扫描一遍,全表扫描
所以上面的效率高,个人理解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式