美文网首页
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