sql中in和exists的区别效率问题 转

2025-05-10 06:57:05
推荐回答(1个)
回答1:

从sql编程角度来说,in直观,exists不直观多一个select,
in可以用于各种子查询,而exists好像只用于关联子查询

从性能上来看
exists是用loop的方式,循环的次数影响大,外表要记录数少,内表就无所谓了

in用的是hash join,所以内表如果小,整个查询的范围都会很小,如果内表很大,外表如果也很大就很慢了,这时候exists才真正的会快过in的方式。