oralce联结子查询的疑惑
oralce联合子查询的疑惑
如下两个sql,假如数据量非常大,在没有索引的情况下,哪个性能会好些
select dname,deptno from dept where deptno in (select emp.deptno from emp where emp.deptno=dept.deptno);
select dept.dname, dept.deptno from dept ,emp where dept.deptno = emp.deptno
理论上说使用子查询会比关联查询效率高,但是第一条sql子查询的条件也是在变动的,子查询应该扫描表感觉应该和第二条sql一样,然后又使用了in,所以第一条的效率实际应该比第二条低,是这样吗?
但是第二条查询,会出现多条重复的记录
谁能给个解释,谢谢
------解决方案--------------------
在pl/sql developer中也可以直接按F5
如下两个sql,假如数据量非常大,在没有索引的情况下,哪个性能会好些
select dname,deptno from dept where deptno in (select emp.deptno from emp where emp.deptno=dept.deptno);
select dept.dname, dept.deptno from dept ,emp where dept.deptno = emp.deptno
理论上说使用子查询会比关联查询效率高,但是第一条sql子查询的条件也是在变动的,子查询应该扫描表感觉应该和第二条sql一样,然后又使用了in,所以第一条的效率实际应该比第二条低,是这样吗?
但是第二条查询,会出现多条重复的记录
谁能给个解释,谢谢
------解决方案--------------------
在pl/sql developer中也可以直接按F5