1、標量子查詢與filter
當一個查詢在select和from之間,那么這種子查詢就是標量子查詢。實際應用中,很多人在寫SQL時為了方便會寫一堆標量子查詢的SQL,在表數據不大時,一般并不會有什么影響,但當數據量較大時,往往會對性能造成巨大影響。
因為標量子查詢類似于一個天然的嵌套循環,而且驅動表固定為主表。如下所示:
bill=# explain select empno,ename,sal,deptno,
bill-# (select d.dname from dept d where d.deptno = e.deptno) as dname
bill-# from emp e;
QUERY PLAN
————————————————————–
Seq Scan on emp e (cost=0.00..15.84 rows=14 width=64)
SubPlan 1
-> Seq Scan on dept d (cost=0.00..1.05 rows=1 width=9)
Filter: (deptno = e.deptno)
(4 rows)
網友評論