본문 바로가기
프로그램개발/DB(MySQL,MariaDB,MongoDB)

서브쿼리와 조인.

by 크레도스 2016. 9. 23.

#쿼리 1번

select a.*, (select count(*) from b b.idx = a.idx) as cnt

from a

limit 10;

 

#쿼리 2번

select a.* ,count(*) cnt from a join b using(idx)

group by a.idx

limit 10;

 

--=---

이거 내 추측인데

 

1번은 10개 a에 row를 가져와서 다시 서브쿼리 10번 돌릴테고

2번은 a에서 row 다... 가져오고, b에서 row 다 가져와서 조인하고 그것을 다시 grouping 해서 그 중에서 10개를 가져오는걸로 보임.

--=--

즉, 1번이 디따 더 좋지 않을까?



=================


  • 송효진 16-09-23 16:54

  • 채워진 데이터를 근거로 사용 인덱스가 달라질 수도 있어서 무조건 explain 해서 rows 를 줄이는게 답