美文网首页
SQL in any all exists

SQL in any all exists

作者: 神农架村姑 | 来源:发表于2019-02-10 08:38 被阅读1次

    in和exists的用法

    在小表中,两种方法的效率都差不多
    当后表的记录数量非常大的时候,选用exists比in要高效很多.

    IN()只执行一次,它查出B表中的所有id字段并缓存起来。之后,检查A表的id是否与B表中的id相等,如果相等则将A表的记录加入结果集中,直到遍历完A表的所有记录。可以看出,当B表数据较大时不适合使用in(),因为它会B表数据全部遍历一次

    Exists()会执行A.length次,它并不缓存exists()结果集,因为exists()结果集的内容并不重要。EXISTS用于检查subquery是否至少会返回一行数据,该subquery实际上并不返回任何数据,而是返回True或False。

    in和any all

    in 等于 =any
    not in 等于 !=all

    相关文章

      网友评论

          本文标题:SQL in any all exists

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