美文网首页
exists和in

exists和in

作者: 潦倒神仙 | 来源:发表于2019-10-21 17:29 被阅读0次

in原理:in()语句只会执行一次,它会查出子查询中所有符合条件的数据并且缓存起来。之后,对于外查询的每一条数据都会遍历子查询的所有记录。
例如,当外查询记录有100条,子查询记录有1000条,那么就会遍历100*1000条,效率很差。

exists原理:对于外查询的每一条记录都放入子查询中进行比较。
例如,当外查询有1000条时,exists会执行1000次。

in()是在内存里遍历,exists()需要查询数据库,我们都知道查询数据库所消耗的性能更高,而内存比较很快。

外层查询表小于子查询表,则用exists,外层查询表大于子查询表,则用in,如果外层和子查询表差不多,则爱用哪个用哪个。

相关文章

网友评论

      本文标题:exists和in

      本文链接:https://www.haomeiwen.com/subject/ocklqftx.html