问答详情
源自:4-1 选择合适的数据类型

用in查询效率高吗

用in查询效率高吗

提问者:qq_MJX_0 2017-03-10 17:01

个回答

  • 慕仰0354868
    2017-03-10 17:02:13
    已采纳

    不高,用EXISTS替代IN、用NOT EXISTS替代NOT IN:

    (高效)SELECT * FROM  EMP (基础表)  WHERE  EMPNO > 0  AND  EXISTS (SELECT ‘X'  FROM DEPT  WHERE  DEPT.DEPTNO = EMP.DEPTNO  AND  LOC = ‘MELB')
    (低效)SELECT  * FROM  EMP (基础表)  WHERE  EMPNO > 0  AND  DEPTNO IN(SELECT DEPTNO  FROM  DEPT  WHERE  LOC = ‘MELB')